sync map woes
This commit is contained in:
parent
1938f14837
commit
cef991a5ef
|
@ -113,10 +113,15 @@ func (pa *PeerApp) listen() {
|
||||||
func (pa *PeerApp) SendMessage(message model2.PeerMessage) error {
|
func (pa *PeerApp) SendMessage(message model2.PeerMessage) error {
|
||||||
if message.Context == event.ContextGetVal {
|
if message.Context == event.ContextGetVal {
|
||||||
pa.getValRequests.Store(message.ID, string(message.Data))
|
pa.getValRequests.Store(message.ID, string(message.Data))
|
||||||
|
// sync map is apparently not guaranteed to be consistent
|
||||||
|
_, ok := pa.getValRequests.Load(message.ID)
|
||||||
|
for !ok {
|
||||||
|
log.Debugf("retrying to load value map...")
|
||||||
|
_, ok = pa.getValRequests.Load(message.ID)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
serialized, err := json.Marshal(message)
|
serialized, err := json.Marshal(message)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
//log.Debugf("sending plaintext of length %v", len(serialized))
|
|
||||||
pa.connection.Send(serialized)
|
pa.connection.Send(serialized)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue