Versions in this module Expand all Collapse all v5 v5.0.1 Nov 10, 2022 v5.0.0 Nov 10, 2022 Changes in this version + const BloomFilterHashes + const BloomFilterSize + const DefaultDebugTag + func Checker(roundID id.Round, filters []*RemoteFilter, cr *store.CheckedRounds) bool + func TrackResults(resultsCh chan ds.EventReturn, numResults int) (bool, int, int) + type CMIXParams struct + BlacklistedNodes NodeMap + Critical bool + DebugTag string + ExcludedRounds excludedRounds.ExcludedRounds + Probe bool + RetryDelay time.Duration + RoundTries uint + SendTimeout time.Duration + Stop *stoppable.Single + Timeout time.Duration + func GetCMIXParameters(params string) (CMIXParams, error) + func GetDefaultCMIXParams() CMIXParams + func (p *CMIXParams) UnmarshalJSON(data []byte) error + func (p CMIXParams) MarshalJSON() ([]byte, error) + func (p CMIXParams) SetDebugTag(newTag string) CMIXParams + type Client interface + AddFingerprint func(identity *id.ID, fingerprint format.Fingerprint, mp message.Processor) error + AddHealthCallback func(f func(bool)) uint64 + AddIdentity func(id *id.ID, validUntil time.Time, persistent bool) + AddIdentityWithHistory func(id *id.ID, validUntil, beginning time.Time, persistent bool) + AddService func(clientID *id.ID, newService message.Service, response message.Processor) + ChangeNumberOfNodeRegistrations func(toRun int, timeout time.Duration) error + CheckInProgressMessages func() + DeleteClientFingerprints func(identity *id.ID) + DeleteClientService func(clientID *id.ID) + DeleteFingerprint func(identity *id.ID, fingerprint format.Fingerprint) + DeleteService func(clientID *id.ID, toDelete message.Service, processor message.Processor) + Follow func(report ClientErrorReport) (stoppable.Stoppable, error) + GetAddressSpace func() uint8 + GetHostParams func() connect.HostParams + GetIdentity func(get *id.ID) (identity.TrackedID, error) + GetInstance func() *network.Instance + GetMaxMessageLength func() int + GetRoundResults func(timeout time.Duration, roundCallback RoundEventCallback, roundList ...id.Round) + GetVerboseRounds func() string + HasNode func(nid *id.ID) bool + IsHealthy func() bool + LookupHistoricalRound func(rid id.Round, callback rounds.RoundResultCallback) error + NumRegisteredNodes func() int + PauseNodeRegistrations func(timeout time.Duration) error + RegisterAddressSpaceNotification func(tag string) (chan uint8, error) + RemoveHealthCallback func(uint64) + RemoveIdentity func(id *id.ID) + Send func(recipient *id.ID, fingerprint format.Fingerprint, service message.Service, ...) (rounds.Round, ephemeral.Id, error) + SendMany func(messages []TargetedCmixMessage, p CMIXParams) (rounds.Round, []ephemeral.Id, error) + SendToAny func(sendFunc func(host *connect.Host) (interface{}, error), stop *stoppable.Single) (interface{}, error) + SendToPreferred func(targets []*id.ID, sendFunc gateway.SendToPreferredFunc, stop *stoppable.Single, ...) (interface{}, error) + SendWithAssembler func(recipient *id.ID, assembler MessageAssembler, cmixParams CMIXParams) (rounds.Round, ephemeral.Id, error) + SetGatewayFilter func(f gateway.Filter) + TrackServices func(tracker message.ServicesTracker) + TriggerNodeRegistration func(nid *id.ID) + UnregisterAddressSpaceNotification func(tag string) + WasHealthy func() bool + func NewClient(params Params, comms *commClient.Comms, session storage.Session, ...) (Client, error) + type ClientErrorReport func(source, message, trace string) + type CmixMessageBuffer struct + func LoadCmixMessageBuffer(kv *versioned.KV, key string) (*CmixMessageBuffer, error) + func NewOrLoadCmixMessageBuffer(kv *versioned.KV, key string) (*CmixMessageBuffer, error) + func (cmb *CmixMessageBuffer) Add(msg format.Message, recipient *id.ID, params CMIXParams) + func (cmb *CmixMessageBuffer) AddProcessing(msg format.Message, recipient *id.ID, params CMIXParams) + func (cmb *CmixMessageBuffer) Failed(msg format.Message, recipient *id.ID) + func (cmb *CmixMessageBuffer) Next() (format.Message, *id.ID, CMIXParams, bool) + func (cmb *CmixMessageBuffer) Succeeded(msg format.Message, recipient *id.ID) + type MessageAssembler func(rid id.Round) (fingerprint format.Fingerprint, service message.Service, payload, mac []byte, ...) + type NodeMap map[id.ID]bool + func (nm *NodeMap) UnmarshalJSON(data []byte) error + func (nm NodeMap) MarshalJSON() ([]byte, error) + type Params struct + ClockSkewClamp time.Duration + FastPolling bool + Historical rounds.Params + KnownRoundsThreshold uint + MaxCheckedRounds uint + MaxParallelIdentityTracks uint + Message message.Params + NetworkHealthTimeout time.Duration + ParallelNodeRegistrations uint + Pickup pickup.Params + RegNodesBufferLen uint + ReplayRequests bool + Rounds rounds.Params + TrackNetworkPeriod time.Duration + VerboseRoundTracking bool + func GetDefaultParams() Params + func GetParameters(params string) (Params, error) + func (p *Params) UnmarshalJSON(data []byte) error + func (p Params) MarshalJSON() ([]byte, error) + type RemoteFilter struct + func NewRemoteFilter(data *mixmessages.ClientBloom) *RemoteFilter + func (rf *RemoteFilter) FirstRound() id.Round + func (rf *RemoteFilter) GetFilter() *bloom.Bloom + func (rf *RemoteFilter) LastRound() id.Round + type RoundEventCallback func(allRoundsSucceeded, timedOut bool, rounds map[id.Round]RoundResult) + type RoundLookupStatus uint + const Failed + const Succeeded + const TimeOut + func (rr RoundLookupStatus) String() string + type RoundResult struct + Round rounds.Round + Status RoundLookupStatus + type RoundState uint8 + const Abandoned + const MessageAvailable + const NoMessageAvailable + const Unchecked + const Unknown + func (rs RoundState) String() string + type RoundTracker struct + func NewRoundTracker() *RoundTracker + func (rt *RoundTracker) String() string + type SendCmixCommsInterface interface + SendPutManyMessages func(host *connect.Host, messages *pb.GatewaySlots, timeout time.Duration) (*pb.GatewaySlotResponse, error) + SendPutMessage func(host *connect.Host, message *pb.GatewaySlot, timeout time.Duration) (*pb.GatewaySlotResponse, error) + type TargetedCmixMessage struct + Fingerprint format.Fingerprint + Mac []byte + Payload []byte + Recipient *id.ID + Service message.Service Other modules containing this package gitlab.com/elixxir/client/v4