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 {
|
||||
if message.Context == event.ContextGetVal {
|
||||
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)
|
||||
if err == nil {
|
||||
//log.Debugf("sending plaintext of length %v", len(serialized))
|
||||
pa.connection.Send(serialized)
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue