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