| | |
| | | import ( |
| | | "encoding/json" |
| | | "log" |
| | | "sync" |
| | | "time" |
| | | |
| | | "golang.org/x/net/context" |
| | |
| | | publisher *Publisher |
| | | |
| | | svInfo map[string][]byte |
| | | svLock sync.RWMutex |
| | | } |
| | | |
| | | type Publisher struct { |
| | |
| | | } else { |
| | | if json.Unmarshal(msg, &si) == nil { |
| | | responses.Add(si.ServiceId) |
| | | d.services.svLock.Lock() |
| | | d.services.svInfo[si.ServiceId] = si.Info |
| | | d.services.svLock.Unlock() |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | func (d *DiscoveryServer) SvInfo() map[string][]byte { |
| | | d.services.svLock.Lock() |
| | | defer d.services.svLock.Unlock() |
| | | m := make(map[string][]byte) |
| | | for k,v := range d.services.svInfo { |
| | | m[k] = v |