Skip to content
Snippets Groups Projects
Commit 45bfa35f authored by Jono Wenger's avatar Jono Wenger
Browse files

Fix storage/utility/MessageBuffer.Add so that it loads messages from storage

parent 2d2abddd
No related branches found
No related tags found
3 merge requests!510Release,!207WIP: Client Restructure,!203Symmetric broadcast
......@@ -203,11 +203,19 @@ func (mb *MessageBuffer) Add(m interface{}) interface{} {
defer mb.mux.Unlock()
// Ensure message does not already exist in buffer
if face1, exists1 := mb.messages[h]; exists1 {
return face1
if _, exists1 := mb.messages[h]; exists1 {
msg, err := mb.handler.LoadMessage(mb.kv, MakeStoredMessageKey(mb.key, h))
if err != nil {
jww.FATAL.Panicf("Error loading message %s: %v", h, err)
}
if face2, exists2 := mb.processingMessages[h]; exists2 {
return face2
return msg
}
if _, exists2 := mb.processingMessages[h]; exists2 {
msg, err := mb.handler.LoadMessage(mb.kv, MakeStoredMessageKey(mb.key, h))
if err != nil {
jww.FATAL.Panicf("Error loading processing message %s: %v", h, err)
}
return msg
}
// Save message as versioned object
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment