Merge remote-tracking branch 'origin/bzz' into bzz

This commit is contained in:
zelig 2015-05-11 19:02:50 +02:00
commit d57c475889
4 changed files with 26 additions and 4 deletions

View file

@ -5,7 +5,6 @@ package bzz
import ( import (
"bytes" "bytes"
"encoding/binary" "encoding/binary"
"fmt"
"sync" "sync"
"github.com/ethereum/go-ethereum/ethdb" "github.com/ethereum/go-ethereum/ethdb"
@ -232,7 +231,7 @@ func (s *dbStore) collectGarbage(ratio float32) {
cutidx := gcListSelect(s.gcArray, 0, gcnt-1, int(float32(gcnt)*ratio)) cutidx := gcListSelect(s.gcArray, 0, gcnt-1, int(float32(gcnt)*ratio))
cutval := s.gcArray[cutidx].value cutval := s.gcArray[cutidx].value
fmt.Print(gcnt, " ", s.entryCnt, " ") // fmt.Print(gcnt, " ", s.entryCnt, " ")
// actual gc // actual gc
for i := 0; i < gcnt; i++ { for i := 0; i < gcnt; i++ {
@ -246,7 +245,7 @@ func (s *dbStore) collectGarbage(ratio float32) {
} }
} }
fmt.Println(s.entryCnt) // fmt.Println(s.entryCnt)
s.db.Put(keyGCPos, s.gcPos) s.db.Put(keyGCPos, s.gcPos)
@ -386,7 +385,7 @@ func newDbStore(path string) (s *dbStore, err error) {
return return
} }
s.setCapacity(50000) // TODO define default capacity as constant s.setCapacity(5000000) // TODO define default capacity as constant
s.gcStartPos = make([]byte, 1) s.gcStartPos = make([]byte, 1)
s.gcStartPos[0] = kpIndex s.gcStartPos[0] = kpIndex

View file

@ -255,6 +255,7 @@ JavaScript API. See https://github.com/ethereum/go-ethereum/wiki/Javascipt-Conso
utils.RPCListenAddrFlag, utils.RPCListenAddrFlag,
utils.RPCPortFlag, utils.RPCPortFlag,
utils.WhisperEnabledFlag, utils.WhisperEnabledFlag,
utils.SwarmEnabledFlag,
utils.VMDebugFlag, utils.VMDebugFlag,
utils.ProtocolVersionFlag, utils.ProtocolVersionFlag,
utils.NetworkIdFlag, utils.NetworkIdFlag,

View file

@ -235,6 +235,10 @@ var (
Name: "shh", Name: "shh",
Usage: "Enable whisper", Usage: "Enable whisper",
} }
SwarmEnabledFlag = cli.BoolFlag{
Name: "bzz",
Usage: "Enable swarm",
}
// ATM the url is left to the user and deployment to // ATM the url is left to the user and deployment to
JSpathFlag = cli.StringFlag{ JSpathFlag = cli.StringFlag{
Name: "jspath", Name: "jspath",
@ -309,6 +313,7 @@ func MakeEthConfig(clientID, version string, ctx *cli.Context) *eth.Config {
NatSpec: ctx.GlobalBool(NatspecEnabledFlag.Name), NatSpec: ctx.GlobalBool(NatspecEnabledFlag.Name),
NodeKey: GetNodeKey(ctx), NodeKey: GetNodeKey(ctx),
Shh: ctx.GlobalBool(WhisperEnabledFlag.Name), Shh: ctx.GlobalBool(WhisperEnabledFlag.Name),
Bzz: ctx.GlobalBool(SwarmEnabledFlag.Name),
Dial: true, Dial: true,
BootNodes: ctx.GlobalString(BootnodesFlag.Name), BootNodes: ctx.GlobalString(BootnodesFlag.Name),
GasPrice: common.String2Big(ctx.GlobalString(GasPriceFlag.Name)), GasPrice: common.String2Big(ctx.GlobalString(GasPriceFlag.Name)),

View file

@ -14,6 +14,7 @@ import (
"github.com/ethereum/ethash" "github.com/ethereum/ethash"
"github.com/ethereum/go-ethereum/accounts" "github.com/ethereum/go-ethereum/accounts"
"github.com/ethereum/go-ethereum/bzz"
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core" "github.com/ethereum/go-ethereum/core"
"github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/core/types"
@ -74,6 +75,7 @@ type Config struct {
NAT nat.Interface NAT nat.Interface
Shh bool Shh bool
Bzz bool
Dial bool Dial bool
Etherbase string Etherbase string
@ -280,7 +282,22 @@ func New(config *Config) (*Ethereum, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
protocols := []p2p.Protocol{eth.protocolManager.SubProtocol} protocols := []p2p.Protocol{eth.protocolManager.SubProtocol}
if config.Bzz {
netStore := bzz.NewNetStore(config.DataDir + "/bzz")
chunker := &bzz.TreeChunker{}
chunker.Init()
dpa := &bzz.DPA{
Chunker: chunker,
ChunkStore: netStore,
}
dpa.Start()
protocols = append(protocols, bzz.BzzProtocol(netStore))
go bzz.StartHttpServer(dpa)
}
if config.Shh { if config.Shh {
protocols = append(protocols, eth.whisper.Protocol()) protocols = append(protocols, eth.whisper.Protocol())
} }