func BenchmarkEcho(b *testing.B) { b.StopTimer() // Initialize sockPath := Fmt("unix:///tmp/echo_%v.sock", RandStr(6)) // Start server s, err := server.NewServer(sockPath, dummy.NewDummyApplication()) if err != nil { Exit(err.Error()) } defer s.Stop() // Start client proxy, err := NewRemoteAppConn(sockPath) if err != nil { Exit(err.Error()) } else { b.Log("Connected") } echoString := strings.Repeat(" ", 200) b.StartTimer() // Start benchmarking tests for i := 0; i < b.N; i++ { proxy.EchoAsync(echoString) } proxy.FlushSync() b.StopTimer() // info := proxy.InfoSync() //b.Log("N: ", b.N, info) }
func TestClient(t *testing.T) { addr := "tcp://127.0.0.1:46659" // Start the listener mApp := app.NewMerkleEyesApp() s, err := server.NewServer(addr, tmspType, mApp) if err != nil { t.Fatal(err.Error()) return } defer s.Stop() // Create client cli, err := eyes.NewClient(addr, tmspType) if err != nil { t.Fatal(err.Error()) return } defer cli.Stop() // Empty commit(t, cli, "") get(t, cli, "foo", "", "") get(t, cli, "bar", "", "") // Set foo=FOO set(t, cli, "foo", "FOO") commit(t, cli, "68DECA470D80183B5E979D167E3DD0956631A952") get(t, cli, "foo", "FOO", "") get(t, cli, "foa", "", "") get(t, cli, "foz", "", "") rem(t, cli, "foo") // Empty get(t, cli, "foo", "", "") commit(t, cli, "") // Set foo1, foo2, foo3... set(t, cli, "foo1", "1") set(t, cli, "foo2", "2") set(t, cli, "foo3", "3") set(t, cli, "foo1", "4") get(t, cli, "foo1", "4", "") get(t, cli, "foo2", "2", "") get(t, cli, "foo3", "3", "") rem(t, cli, "foo3") rem(t, cli, "foo2") rem(t, cli, "foo1") // Empty commit(t, cli, "") }
func cmdServer(app *cli.App, c *cli.Context) { addr := c.String("address") tmsp := c.String("tmsp") mApp := application.NewMerkleEyesApp() // Start the listener s, err := server.NewServer(addr, tmsp, mApp) if err != nil { Exit(err.Error()) } // Wait forever TrapSignal(func() { // Cleanup s.Stop() }) }
func main() { addrPtr := flag.String("addr", "tcp://0.0.0.0:46658", "Listen address") tmspPtr := flag.String("tmsp", "socket", "socket | grpc") flag.Parse() // Start the listener _, err := server.NewServer(*addrPtr, *tmspPtr, dummy.NewDummyApplication()) if err != nil { Exit(err.Error()) } // Wait forever TrapSignal(func() { // Cleanup }) }
func main() { addrPtr := flag.String("addr", "tcp://0.0.0.0:46658", "Listen address") tmspPtr := flag.String("tmsp", "socket", "TMSP server: socket | grpc") serialPtr := flag.Bool("serial", false, "Enforce incrementing (serial) txs") flag.Parse() app := counter.NewCounterApplication(*serialPtr) // Start the listener _, err := server.NewServer(*addrPtr, *tmspPtr, app) if err != nil { Exit(err.Error()) } // Wait forever TrapSignal(func() { // Cleanup }) }
// NOTE: don't forget to close the client & server. func CreateEyes(t *testing.T) (svr Service, cli *eyes.Client) { addr := "unix://eyes.sock" // Start the listener mApp := app.NewMerkleEyesApp() svr, err := server.NewServer(addr, tmspType, mApp) if err != nil { (err.Error()) return } // Create client cli, err = eyes.NewClient(addr, tmspType) if err != nil { t.Fatal(err.Error()) return } return svr, cli }
func TestEcho(t *testing.T) { sockPath := Fmt("unix:///tmp/echo_%v.sock", RandStr(6)) // Start server s, err := server.NewServer(sockPath, dummy.NewDummyApplication()) if err != nil { Exit(err.Error()) } defer s.Stop() // Start client proxy, err := NewRemoteAppConn(sockPath) if err != nil { Exit(err.Error()) } else { t.Log("Connected") } for i := 0; i < 1000; i++ { proxy.EchoAsync(Fmt("echo-%v", i)) } proxy.FlushSync() }
func main() { addrPtr := flag.String("address", "tcp://0.0.0.0:46658", "Listen address") eyesPtr := flag.String("eyes", "local", "MerkleEyes address, or 'local' for embedded") genFilePath := flag.String("genesis", "", "Genesis file, if any") flag.Parse() // Connect to MerkleEyes eyesCli, err := eyes.NewClient(*eyesPtr, "socket") if err != nil { Exit("connect to MerkleEyes: " + err.Error()) } // Create Basecoin app app := app.NewBasecoin(eyesCli) // If genesis file was specified, set key-value options if *genFilePath != "" { kvz := loadGenesis(*genFilePath) for _, kv := range kvz { log := app.SetOption(kv.Key, kv.Value) fmt.Println(Fmt("Set %v=%v. Log: %v", kv.Key, kv.Value, log)) } } // Start the listener svr, err := server.NewServer(*addrPtr, "socket", app) if err != nil { Exit("create listener: " + err.Error()) } // Wait forever TrapSignal(func() { // Cleanup svr.Stop() }) }
func TestInfo(t *testing.T) { sockPath := Fmt("unix:///tmp/echo_%v.sock", RandStr(6)) // Start server s, err := server.NewServer(sockPath, dummy.NewDummyApplication()) if err != nil { Exit(err.Error()) } defer s.Stop() // Start client proxy, err := NewRemoteAppConn(sockPath) if err != nil { Exit(err.Error()) } else { t.Log("Connected") } res := proxy.InfoSync() if res.IsErr() { t.Errorf("Unexpected error: %v", err) } if string(res.Data) != "size:0" { t.Error("Expected ResponseInfo with one element 'size:0' but got something else") } }