Skip to content
Snippets Groups Projects

Add a sync map for rounds received

+ 9
0
@@ -11,6 +11,7 @@ package notifications
@@ -11,6 +11,7 @@ package notifications
import (
import (
"encoding/base64"
"encoding/base64"
"gitlab.com/elixxir/notifications-bot/notifications/apns"
"gitlab.com/elixxir/notifications-bot/notifications/apns"
 
"sync"
// "github.com/jonahh-yeti/apns"
// "github.com/jonahh-yeti/apns"
"github.com/pkg/errors"
"github.com/pkg/errors"
@@ -65,6 +66,7 @@ type Impl struct {
@@ -65,6 +66,7 @@ type Impl struct {
fcm *firebase.FirebaseComm
fcm *firebase.FirebaseComm
apnsClient *apns.ApnsComm
apnsClient *apns.ApnsComm
receivedNdf *uint32
receivedNdf *uint32
 
roundStore sync.Map
ndfStopper Stopper
ndfStopper Stopper
}
}
@@ -333,6 +335,13 @@ func (nb *Impl) ReceiveNotificationBatch(notifBatch *pb.NotificationBatch, auth
@@ -333,6 +335,13 @@ func (nb *Impl) ReceiveNotificationBatch(notifBatch *pb.NotificationBatch, auth
// return errors.New("Cannot receive notification data: client is not authenticated")
// return errors.New("Cannot receive notification data: client is not authenticated")
//}
//}
 
rid := notifBatch.RoundID
 
 
_, loaded := nb.roundStore.LoadOrStore(rid, true)
 
if loaded {
 
return nil
 
}
 
jww.INFO.Printf("Received notification batch for round %+v", notifBatch.RoundID)
jww.INFO.Printf("Received notification batch for round %+v", notifBatch.RoundID)
for _, notifData := range notifBatch.GetNotifications() {
for _, notifData := range notifBatch.GetNotifications() {
Loading