|
|
@@ -8,39 +8,32 @@ import ( |
|
|
|
|
|
|
|
func main() { |
|
|
|
var wg sync.WaitGroup |
|
|
|
// Set the autoinc id generator |
|
|
|
// You can write your own id generator |
|
|
|
// by implementing IdGenerator interface. |
|
|
|
client.IdGen = client.NewAutoIncId() |
|
|
|
|
|
|
|
c, err := client.New("127.0.0.1:4730") |
|
|
|
if err != nil { |
|
|
|
log.Fatalln(err) |
|
|
|
} |
|
|
|
defer c.Close() |
|
|
|
echo := []byte("Hello\x00 world") |
|
|
|
c.JobHandler = func(job *client.Job) error { |
|
|
|
log.Printf("%s", job.Data) |
|
|
|
wg.Done() |
|
|
|
return nil |
|
|
|
} |
|
|
|
|
|
|
|
c.ErrHandler = func(e error) { |
|
|
|
log.Println(e) |
|
|
|
panic(e) |
|
|
|
} |
|
|
|
echo := []byte("Hello\x00 world") |
|
|
|
wg.Add(1) |
|
|
|
c.Echo(echo) |
|
|
|
wg.Add(1) |
|
|
|
handle, err := c.Do("ToUpper", echo, client.JOB_NORMAL) |
|
|
|
if err != nil { |
|
|
|
log.Fatalln(err) |
|
|
|
} else { |
|
|
|
log.Println(handle) |
|
|
|
} |
|
|
|
|
|
|
|
c.StatusHandler = func(handle string, known, running bool, numerator, denominator uint64) { |
|
|
|
log.Printf("%s: %b, %b, %d, %d", handle, known, running, numerator, denominator) |
|
|
|
jobHandler := func(job *client.Job) { |
|
|
|
log.Printf("%s", job.Data) |
|
|
|
wg.Done() |
|
|
|
} |
|
|
|
handle := c.Do("ToUpper", echo, client.JOB_NORMAL, jobHandler) |
|
|
|
|
|
|
|
wg.Add(1) |
|
|
|
c.Status(handle) |
|
|
|
log.Printf("%t", c.Status(handle)) |
|
|
|
|
|
|
|
wg.Wait() |
|
|
|
} |