Skip to content

Commit c95c37a

Browse files
address PR comment
1 parent 2789eeb commit c95c37a

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

wsbroadcastserver/clientmanager.go

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,23 @@ func (cm *ClientManager) populateFeedBacklog(bm *m.BroadcastMessage) error {
157157
cm.Broadcast(bm)
158158
return nil
159159
}
160-
return cm.backlog.Append(bm)
160+
if len(bm.Messages) == 0 {
161+
return cm.backlog.Append(bm)
162+
}
163+
for i, msg := range bm.Messages {
164+
m := &m.BroadcastMessage{
165+
Version: bm.Version,
166+
Messages: []*m.BroadcastFeedMessage{msg},
167+
}
168+
// This ensures that only one message is added to backlog with the confirmed sequence number
169+
if i == 0 {
170+
m.ConfirmedSequenceNumberMessage = bm.ConfirmedSequenceNumberMessage
171+
}
172+
if err := cm.backlog.Append(m); err != nil {
173+
return err
174+
}
175+
}
176+
return nil
161177
}
162178

163179
func (cm *ClientManager) doBroadcast(bm *m.BroadcastMessage) ([]*ClientConnection, error) {

0 commit comments

Comments
 (0)