Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SelectEndpoints ¶
func SelectEndpoints(k int, peerPool []discovery.NetworkMember) []*comm.RemotePeer
Types ¶
type Config ¶
type Config struct { ID string PullInterval time.Duration Channel common.ChannelID PeerCountToSelect int Tag proto.GossipMessage_Tag MsgType proto.PullMsgType PullEngineConfig algo.PullEngineConfig }
type EgressDigestFilter ¶
type EgressDigestFilter func(helloMsg protoext.ReceivedMessage) func(digestItem string) bool
type IdentifierExtractor ¶
type IdentifierExtractor func(*protoext.SignedGossipMessage) string
type IngressDigestFilter ¶
type IngressDigestFilter func(digestMsg *proto.DataDigest) *proto.DataDigest
type Mediator ¶
type Mediator interface { Stop() RegisterMsgHook(MsgType, MessageHook) Add(*protoext.SignedGossipMessage) Remove(digest string) HandleMessage(msg protoext.ReceivedMessage) }
func NewPullMediator ¶
func NewPullMediator(config Config, adapter *PullAdapter) Mediator
type MembershipService ¶
type MembershipService interface {
GetMembership() []discovery.NetworkMember
}
type MessageHook ¶
type MessageHook func(itemIDs []string, items []*protoext.SignedGossipMessage, msg protoext.ReceivedMessage)
type MsgConsumer ¶
type MsgConsumer func(message *protoext.SignedGossipMessage)
type PullAdapter ¶
type PullAdapter struct { Sndr Sender MemSvc MembershipService IdExtractor IdentifierExtractor MsgCons MsgConsumer EgressDigFilter EgressDigestFilter IngressDigFilter IngressDigestFilter }
type Sender ¶
type Sender interface {
Send(msg *protoext.SignedGossipMessage, peers ...*comm.RemotePeer)
}
Click to show internal directories.
Click to hide internal directories.