pull

package
v0.0.0-...-95b87ed Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 16, 2019 License: Apache-2.0 Imports: 12 Imported by: 0

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 MsgType

type MsgType int
const (
	HelloMsgType MsgType = iota
	DigestMsgType
	RequestMsgType
	ResponseMsgType
)

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)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL