@@ -3,6 +3,9 @@ package predecisions
33import (
44 "reflect"
55
6+ eventpbdsl "github.com/filecoin-project/mir/pkg/pb/eventpb/dsl"
7+ eventpbtypes "github.com/filecoin-project/mir/pkg/pb/eventpb/types"
8+
69 "github.com/filecoin-project/mir/pkg/accountability/simpleacc/internal/certificates/lightcertificates"
710 isspbdsl "github.com/filecoin-project/mir/pkg/pb/isspb/dsl"
811 isspbtypes "github.com/filecoin-project/mir/pkg/pb/isspb/types"
@@ -19,6 +22,7 @@ import (
1922 cryptopbdsl "github.com/filecoin-project/mir/pkg/pb/cryptopb/dsl"
2023 cryptopbtypes "github.com/filecoin-project/mir/pkg/pb/cryptopb/types"
2124 transportpbdsl "github.com/filecoin-project/mir/pkg/pb/transportpb/dsl"
25+ transportpbevents "github.com/filecoin-project/mir/pkg/pb/transportpb/events"
2226 t "github.com/filecoin-project/mir/pkg/types"
2327 "github.com/filecoin-project/mir/pkg/util/maputil"
2428 "github.com/filecoin-project/mir/pkg/util/membutil"
@@ -79,7 +83,13 @@ func IncludePredecisions(
7983 state .LocalPredecision .SignedPredecision .Signature = signature
8084
8185 // Broadcast signed predecision to all participants (including oneself).
82- transportpbdsl .SendMessage (m , mc .Net , accpbmsgs .SignedPredecision (mc .Self , sr .data , signature ), maputil .GetKeys (params .Membership .Nodes ))
86+ eventpbdsl .TimerRepeat (m ,
87+ mc .Timer ,
88+ []* eventpbtypes.Event {transportpbevents .SendMessage (mc .Net , accpbmsgs .SignedPredecision (mc .Self , sr .data , signature ), maputil .GetKeys (params .Membership .Nodes ))},
89+ params .ResendFrequency ,
90+ params .RetentionIndex ,
91+ )
92+
8393 return nil
8494 })
8595
@@ -230,13 +240,16 @@ func decide(m dsl.Module, mc *common.ModuleConfig, params *common.ModuleParams,
230240 }
231241
232242 // Find the actual predecision from other nodes
233- transportpbdsl .SendMessage (
234- m ,
235- mc .Net ,
236- accpbmsgs .RequestSBMessage (mc .Self ,
237- predecision ),
238- state .PredecisionNodeIDs [string (predecision )])
239-
243+ eventpbdsl .TimerRepeat (m ,
244+ mc .Timer ,
245+ []* eventpbtypes.Event {transportpbevents .SendMessage (
246+ mc .Net ,
247+ accpbmsgs .RequestSBMessage (mc .Self ,
248+ predecision ),
249+ state .PredecisionNodeIDs [string (predecision )])},
250+ params .ResendFrequency ,
251+ params .RetentionIndex ,
252+ )
240253}
241254
242255func finishWithDecision (
0 commit comments