From 1311a655d6ef29a11fe2361e04561b36e9510531 Mon Sep 17 00:00:00 2001 From: lash Date: Fri, 15 Dec 2017 02:17:11 +0100 Subject: [PATCH] cmd/swarm: Pss flags and config --- cmd/swarm/config_test.go | 65 +++++++++++++++++++++++++------------- swarm/storage/forwarder.go | 16 ++++++++++ swarm/swarm.go | 1 + 3 files changed, 60 insertions(+), 22 deletions(-) create mode 100644 swarm/storage/forwarder.go diff --git a/cmd/swarm/config_test.go b/cmd/swarm/config_test.go index 166980d148..81d1df585d 100644 --- a/cmd/swarm/config_test.go +++ b/cmd/swarm/config_test.go @@ -34,7 +34,7 @@ import ( func TestDumpConfig(t *testing.T) { swarm := runSwarm(t, "dumpconfig") - defaultConf := api.NewDefaultConfig() + defaultConf := api.NewConfig() out, err := tomlSettings.Marshal(&defaultConf) if err != nil { t.Fatal(err) @@ -43,7 +43,7 @@ func TestDumpConfig(t *testing.T) { swarm.ExpectExit() } -func TestFailsSwapEnabledNoSwapApi(t *testing.T) { +func TestConfigFailsSwapEnabledNoSwapApi(t *testing.T) { flags := []string{ fmt.Sprintf("--%s", SwarmNetworkIdFlag.Name), "42", fmt.Sprintf("--%s", SwarmPortFlag.Name), "54545", @@ -55,7 +55,7 @@ func TestFailsSwapEnabledNoSwapApi(t *testing.T) { swarm.ExpectExit() } -func TestFailsNoBzzAccount(t *testing.T) { +func TestConfigFailsNoBzzAccount(t *testing.T) { flags := []string{ fmt.Sprintf("--%s", SwarmNetworkIdFlag.Name), "42", fmt.Sprintf("--%s", SwarmPortFlag.Name), "54545", @@ -66,7 +66,7 @@ func TestFailsNoBzzAccount(t *testing.T) { swarm.ExpectExit() } -func TestCmdLineOverrides(t *testing.T) { +func TestConfigCmdLineOverrides(t *testing.T) { dir, err := ioutil.TempDir("", "bzztest") if err != nil { t.Fatal(err) @@ -86,6 +86,7 @@ func TestCmdLineOverrides(t *testing.T) { fmt.Sprintf("--%s", SwarmNetworkIdFlag.Name), "42", fmt.Sprintf("--%s", SwarmPortFlag.Name), httpPort, fmt.Sprintf("--%s", SwarmSyncEnabledFlag.Name), + fmt.Sprintf("--%s", SwarmPssEnabledFlag.Name), fmt.Sprintf("--%s", CorsStringFlag.Name), "*", fmt.Sprintf("--%s", SwarmAccountFlag.Name), account.Address.String(), fmt.Sprintf("--%s", EnsAPIFlag.Name), "", @@ -128,6 +129,10 @@ func TestCmdLineOverrides(t *testing.T) { t.Fatal("Expected Sync to be enabled, but is false") } + if !info.PssEnabled { + t.Fatal("Expected Pss to be enabled, but is false") + } + if info.Cors != "*" { t.Fatalf("Expected Cors flag to be set to %s, got %s", "*", info.Cors) } @@ -135,7 +140,7 @@ func TestCmdLineOverrides(t *testing.T) { node.Shutdown() } -func TestFileOverrides(t *testing.T) { +func TestConfigFileOverrides(t *testing.T) { // assign ports httpPort, err := assignTCPPort() @@ -145,16 +150,17 @@ func TestFileOverrides(t *testing.T) { //create a config file //first, create a default conf - defaultConf := api.NewDefaultConfig() + defaultConf := api.NewConfig() //change some values in order to test if they have been loaded defaultConf.SyncEnabled = true + defaultConf.PssEnabled = true defaultConf.NetworkId = 54 defaultConf.Port = httpPort defaultConf.StoreParams.DbCapacity = 9000000 defaultConf.ChunkerParams.Branches = 64 - defaultConf.HiveParams.CallInterval = 6000000000 + defaultConf.HiveParams.KeepAliveInterval = 6000000000 defaultConf.Swap.Params.Strategy.AutoCashInterval = 600 * time.Second - defaultConf.SyncParams.KeyBufferSize = 512 + //defaultConf.SyncParams.KeyBufferSize = 512 //create a TOML string out, err := tomlSettings.Marshal(&defaultConf) if err != nil { @@ -223,6 +229,10 @@ func TestFileOverrides(t *testing.T) { t.Fatal("Expected Sync to be enabled, but is false") } + if !info.PssEnabled { + t.Fatal("Expected Pss to be enabled, but is false") + } + if info.StoreParams.DbCapacity != 9000000 { t.Fatalf("Expected network ID to be %d, got %d", 54, info.NetworkId) } @@ -231,22 +241,22 @@ func TestFileOverrides(t *testing.T) { t.Fatalf("Expected chunker params branches to be %d, got %d", 64, info.ChunkerParams.Branches) } - if info.HiveParams.CallInterval != 6000000000 { - t.Fatalf("Expected HiveParams CallInterval to be %d, got %d", uint64(6000000000), uint64(info.HiveParams.CallInterval)) + if info.HiveParams.KeepAliveInterval != 6000000000 { + t.Fatalf("Expected HiveParams KeepAliveInterval to be %d, got %d", uint64(6000000000), uint64(info.HiveParams.KeepAliveInterval)) } if info.Swap.Params.Strategy.AutoCashInterval != 600*time.Second { t.Fatalf("Expected SwapParams AutoCashInterval to be %ds, got %d", 600, info.Swap.Params.Strategy.AutoCashInterval) } - if info.SyncParams.KeyBufferSize != 512 { - t.Fatalf("Expected info.SyncParams.KeyBufferSize to be %d, got %d", 512, info.SyncParams.KeyBufferSize) - } + // if info.SyncParams.KeyBufferSize != 512 { + // t.Fatalf("Expected info.SyncParams.KeyBufferSize to be %d, got %d", 512, info.SyncParams.KeyBufferSize) + // } node.Shutdown() } -func TestEnvVars(t *testing.T) { +func TestConfigEnvVars(t *testing.T) { // assign ports httpPort, err := assignTCPPort() if err != nil { @@ -258,6 +268,7 @@ func TestEnvVars(t *testing.T) { envVars = append(envVars, fmt.Sprintf("%s=%s", SwarmNetworkIdFlag.EnvVar, "999")) envVars = append(envVars, fmt.Sprintf("%s=%s", CorsStringFlag.EnvVar, "*")) envVars = append(envVars, fmt.Sprintf("%s=%s", SwarmSyncEnabledFlag.EnvVar, "true")) + envVars = append(envVars, fmt.Sprintf("%s=%s", SwarmPssEnabledFlag.EnvVar, "true")) dir, err := ioutil.TempDir("", "bzztest") if err != nil { @@ -338,11 +349,15 @@ func TestEnvVars(t *testing.T) { t.Fatal("Expected Sync to be enabled, but is false") } + if !info.PssEnabled { + t.Fatal("Expected Pss to be enabled, but is false") + } + node.Shutdown() cmd.Process.Kill() } -func TestCmdLineOverridesFile(t *testing.T) { +func TestConfigCmdLineOverridesFile(t *testing.T) { // assign ports httpPort, err := assignTCPPort() @@ -352,16 +367,17 @@ func TestCmdLineOverridesFile(t *testing.T) { //create a config file //first, create a default conf - defaultConf := api.NewDefaultConfig() + defaultConf := api.NewConfig() //change some values in order to test if they have been loaded defaultConf.SyncEnabled = false + defaultConf.PssEnabled = false defaultConf.NetworkId = 54 defaultConf.Port = "8588" defaultConf.StoreParams.DbCapacity = 9000000 defaultConf.ChunkerParams.Branches = 64 - defaultConf.HiveParams.CallInterval = 6000000000 + defaultConf.HiveParams.KeepAliveInterval = 6000000000 defaultConf.Swap.Params.Strategy.AutoCashInterval = 600 * time.Second - defaultConf.SyncParams.KeyBufferSize = 512 + //defaultConf.SyncParams.KeyBufferSize = 512 //create a TOML file out, err := tomlSettings.Marshal(&defaultConf) if err != nil { @@ -393,6 +409,7 @@ func TestCmdLineOverridesFile(t *testing.T) { fmt.Sprintf("--%s", SwarmNetworkIdFlag.Name), "77", fmt.Sprintf("--%s", SwarmPortFlag.Name), httpPort, fmt.Sprintf("--%s", SwarmSyncEnabledFlag.Name), + fmt.Sprintf("--%s", SwarmPssEnabledFlag.Name), fmt.Sprintf("--%s", SwarmTomlConfigPathFlag.Name), f.Name(), fmt.Sprintf("--%s", SwarmAccountFlag.Name), account.Address.String(), "--ens-api", "", @@ -443,17 +460,21 @@ func TestCmdLineOverridesFile(t *testing.T) { t.Fatalf("Expected chunker params branches to be %d, got %d", 64, info.ChunkerParams.Branches) } - if info.HiveParams.CallInterval != 6000000000 { - t.Fatalf("Expected HiveParams CallInterval to be %d, got %d", uint64(6000000000), uint64(info.HiveParams.CallInterval)) + if info.HiveParams.KeepAliveInterval != 6000000000 { + t.Fatalf("Expected HiveParams KeepAliveInterval to be %d, got %d", uint64(6000000000), uint64(info.HiveParams.KeepAliveInterval)) } if info.Swap.Params.Strategy.AutoCashInterval != 600*time.Second { t.Fatalf("Expected SwapParams AutoCashInterval to be %ds, got %d", 600, info.Swap.Params.Strategy.AutoCashInterval) } - if info.SyncParams.KeyBufferSize != 512 { - t.Fatalf("Expected info.SyncParams.KeyBufferSize to be %d, got %d", 512, info.SyncParams.KeyBufferSize) + if !info.PssEnabled { + t.Fatal("Expected Pss to be enabled, but is false") } + // if info.SyncParams.KeyBufferSize != 512 { + // t.Fatalf("Expected info.SyncParams.KeyBufferSize to be %d, got %d", 512, info.SyncParams.KeyBufferSize) + // } + node.Shutdown() } diff --git a/swarm/storage/forwarder.go b/swarm/storage/forwarder.go new file mode 100644 index 0000000000..0d1acfab57 --- /dev/null +++ b/swarm/storage/forwarder.go @@ -0,0 +1,16 @@ +package storage + +// implements CloudStore +// noop placeholder for netstore functionality + +type Forwarder struct { +} + +func (self *Forwarder) Store(chunk *Chunk) { +} + +func (self *Forwarder) Retrieve(chunk *Chunk) { +} + +func (self *Forwarder) Deliver(chunk *Chunk) { +} diff --git a/swarm/swarm.go b/swarm/swarm.go index 8a3128fbc6..da179ed55d 100644 --- a/swarm/swarm.go +++ b/swarm/swarm.go @@ -113,6 +113,7 @@ func NewSwarm(ctx *node.ServiceContext, backend chequebook.Backend, ensClient *e config.HiveParams.Discovery = true // setup cloud storage internal access layer + self.cloud = &storage.Forwarder{} self.storage = storage.NewNetStore(hash, self.lstore, self.cloud, config.StoreParams) log.Debug(fmt.Sprintf("-> swarm net store shared access layer to Swarm Chunk Store")) nodeid := discover.PubkeyID(crypto.ToECDSAPub(common.FromHex(config.PublicKey)))