Something went wrong on our end
params.go 10.32 KiB
////////////////////////////////////////////////////////////////////////////////
// Copyright © 2022 xx foundation //
// //
// Use of this source code is governed by a license that can be found in the //
// LICENSE file. //
////////////////////////////////////////////////////////////////////////////////
package cmix
import (
"encoding/base64"
"encoding/json"
"time"
"gitlab.com/elixxir/client/cmix/message"
"gitlab.com/elixxir/client/cmix/pickup"
"gitlab.com/elixxir/client/cmix/rounds"
"gitlab.com/elixxir/client/stoppable"
"gitlab.com/elixxir/primitives/excludedRounds"
"gitlab.com/xx_network/primitives/id"
)
type Params struct {
TrackNetworkPeriod time.Duration
// MaxCheckedRounds is the maximum number of rounds to check in a single
// iterations network updates.
MaxCheckedRounds uint
// RegNodesBufferLen is the size of the buffer of nodes to register.
RegNodesBufferLen uint
// NetworkHealthTimeout is the longest delay between network events for
// health tracker to denote that the network is in a bad state.
NetworkHealthTimeout time.Duration
// ParallelNodeRegistrations is the number of parallel node registrations
// that the client is capable of.
ParallelNodeRegistrations uint
// KnownRoundsThreshold dictates how far back in rounds the network should
// actually check.
KnownRoundsThreshold uint
// FastPolling determines verbosity of network updates while polling. If
// true, client receives a filtered set of updates. If false, client
// receives the full list of network updates.
FastPolling bool
// VerboseRoundTracking determines if the state of every round processed is
// tracked in memory. This is very memory intensive and is primarily used
// for debugging.
VerboseRoundTracking bool
// RealtimeOnly disables all attempts to pick up dropped or missed messages.
RealtimeOnly bool
// ReplayRequests Resends auth requests up the stack if received multiple
// times.
ReplayRequests bool
// MaxParallelIdentityTracks is the maximum number of parallel identities
// the system will poll in one iteration of the follower
MaxParallelIdentityTracks uint
// ClockSkewClamp is the window (+/-) in which clock skew is
// ignored and local time is used
ClockSkewClamp time.Duration
Rounds rounds.Params
Pickup pickup.Params