| | |
| | | go 1.12 |
| | | |
| | | require ( |
| | | basic.com/valib/shm.git v0.0.0-20190826054634-a0123f163edd |
| | | github.com/gorilla/websocket v1.4.1 // indirect |
| | | golang.org/x/sys v0.0.0-20190825160603-fb81701db80f |
| | | nanomsg.org/go-mangos v1.4.0 |
| | |
| | | basic.com/valib/shm.git v0.0.0-20190826054634-a0123f163edd h1:hRQzhw2zyfLY9vdbuv/dw92BVjax8xx9fFeNBu4U9/U= |
| | | basic.com/valib/shm.git v0.0.0-20190826054634-a0123f163edd/go.mod h1:yYRM7bM9y0KKd4IfNt3myjsvkFVFIIWNjsvK14tNbq4= |
| | | github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM= |
| | | github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= |
| | | golang.org/x/sys v0.0.0-20190825160603-fb81701db80f h1:LCxigP8q3fPRGNVYndYsyHnF0zRrvcoVwZMfb8iQZe4= |
| | |
| | | default: |
| | | msg, err = c.Recv() |
| | | if err != nil { |
| | | c.Close() |
| | | url := "hello" |
| | | i, err := deliver.NewClientWithError(deliver.Shm, url) |
| | | for { |
| | | if err == nil { |
| | | break |
| | | } |
| | | time.Sleep(1 * time.Second) |
| | | i, err = deliver.NewClientWithError(deliver.Shm, url) |
| | | |
| | | fmt.Println("client create failed : ", err) |
| | | |
| | | } |
| | | c = i |
| | | |
| | | fmt.Println("recv error : ", err) |
| | | return |
| | | continue |
| | | } |
| | | if ch != nil { |
| | | ch <- true |
| | |
| | | go shmrecver(ctx, s, 0, nil) |
| | | |
| | | } else { |
| | | // recvers(ctx, ipc, count, nil) |
| | | recvers(ctx, ipc, count, nil) |
| | | |
| | | return |
| | | |
| | | chWaiter := make(chan bool, count) |
| | | cs := recvers(ctx, ipc, count, chWaiter) |
| | |
| | | for _, v := range cs { |
| | | v.Close() |
| | | } |
| | | cs = recvers(ctx, ipc, count, chWaiter) |
| | | fmt.Println("restart recievers") |
| | | waitCount = 0 |
| | | continue |
| | | // cs = recvers(ctx, ipc, count, chWaiter) |
| | | // fmt.Println("restart recievers") |
| | | // waitCount = 0 |
| | | // continue |
| | | } |
| | | time.Sleep(time.Millisecond * 5) |
| | | waitCount++ |
| | |
| | | return |
| | | default: |
| | | if err = s.Send(buf); err != nil { |
| | | s.Close() |
| | | url := "hello" |
| | | i, err := deliver.NewClientWithError(deliver.Shm, url) |
| | | for { |
| | | if err == nil { |
| | | break |
| | | } |
| | | time.Sleep(1 * time.Second) |
| | | i, err = deliver.NewClientWithError(deliver.Shm, url) |
| | | |
| | | fmt.Println("client create failed : ", err) |
| | | |
| | | } |
| | | s = i |
| | | |
| | | fmt.Printf("can't send message on push socket: %s\n", err.Error()) |
| | | } else { |