diff --git a/README.md b/README.md index 3827baea0e49a5792e8bd230f6e90230bcccca9d..497f2c99231e3e0aa8908f4680aa1b76af8f802e 100644 --- a/README.md +++ b/README.md @@ -160,6 +160,9 @@ Flags: base64 representations) (default "0") --forceHistoricalRounds Force all rounds to be sent to historical round retrieval + --forceMessagePickupRetry Enable a mechanism which forces a 50% chance + of no message pickup, instead triggering the + message pickup retry mechanism -h, --help help for client -l, --log string Path to the log output path (- is stdout) (default "-") diff --git a/cmd/root.go b/cmd/root.go index 9b11cfc79d7c1beadd311add7455f39ba8d1aa48..ed2e2b9936ab803f35d3c68f871ffb9a64bbb51c 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -769,6 +769,9 @@ func init() { "Enables polling for unfiltered network updates with RSA signatures") viper.BindPFlag("slowPolling", rootCmd.Flags().Lookup("slowPolling")) + rootCmd.Flags().Bool("forceMessagePickupRetry", false, + "Enable a mechanism which forces a 50% chance of no message pickup, " + + "instead triggering the message pickup retry mechanism") // E2E Params defaultE2EParams := params.GetDefaultE2ESessionParams() diff --git a/interfaces/params/rounds.go b/interfaces/params/rounds.go index 6c4fdc5c62acb6d8b00450cef6e343f0b25092ac..0c8f335023498d6f7725cbef5f759a2c90ad560a 100644 --- a/interfaces/params/rounds.go +++ b/interfaces/params/rounds.go @@ -35,6 +35,10 @@ type Rounds struct { // Interval between checking for rounds in UncheckedRoundStore // due for a message retrieval retry UncheckRoundPeriod time.Duration + + // Toggles if message pickup retrying mechanism if forced + // by intentionally not looking up messages + ForceMessagePickupRetry bool } func GetDefaultRounds() Rounds {