1// 2// Clone client Model Six 3// 4 5package main 6 7import ( 8 "github.com/pebbe/zmq4/examples/clone" 9 10 "fmt" 11 "log" 12 "math/rand" 13 "time" 14) 15 16const ( 17 SUBTREE = "/client/" 18) 19 20func main() { 21 // Create distributed hash instance 22 clone := clone.New() 23 24 // Specify configuration 25 clone.Subtree(SUBTREE) 26 clone.Connect("tcp://localhost", "5556") 27 clone.Connect("tcp://localhost", "5566") 28 29 // Set random tuples into the distributed hash 30 for { 31 // Set random value, check it was stored 32 key := fmt.Sprintf("%s%d", SUBTREE, rand.Intn(10000)) 33 value := fmt.Sprint(rand.Intn(1000000)) 34 clone.Set(key, value, rand.Intn(30)) 35 v, _ := clone.Get(key) 36 if v != value { 37 log.Fatalf("Set: %v - Get: %v - Equal: %v\n", value, v, value == v) 38 } 39 time.Sleep(time.Second) 40 } 41} 42