Documentation ¶
Index ¶
- func HasExternalEndpoint(member NetworkMember) bool
- func SetAliveExpirationCheckInterval(interval time.Duration)
- func SetAliveExpirationTimeout(timeout time.Duration)
- func SetAliveTimeInterval(interval time.Duration)
- func SetMaxConnAttempts(attempts int)
- func SetReconnectInterval(interval time.Duration)
- type CommService
- type CryptoService
- type DisclosurePolicy
- type Discovery
- type EnvelopeFilter
- type Members
- type NetworkMember
- type PeerIdentification
- type Sieve
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HasExternalEndpoint ¶
func HasExternalEndpoint(member NetworkMember) bool
HaveExternalEndpoints selects network members that have external endpoints
func SetAliveExpirationCheckInterval ¶
setAliveExpirationCheckInterval设置过期检查间隔
func SetAliveExpirationTimeout ¶
setAliveExpirationTimeout设置过期超时
func SetAliveTimeInterval ¶
setAliveTimeInterval设置活动时间间隔
func SetMaxConnAttempts ¶
func SetMaxConnAttempts(attempts int)
setmaxconnattempts设置最大连接数 在调用connect()时对等机将执行的尝试
func SetReconnectInterval ¶
setReconnectInterval设置重新连接间隔
Types ¶
type CommService ¶
type CommService interface { //流言蜚语 Gossip(msg *proto.SignedGossipMessage) //sendtopeer向给定的对等端发送消息。 //由于通信模块本身处理nonce,因此nonce可以是任何东西。 SendToPeer(peer *NetworkMember, msg *proto.SignedGossipMessage) //ping探测远程对等机并返回是否响应 Ping(peer *NetworkMember) bool //accept返回从远程对等方发送的成员身份消息的只读通道 Accept() <-chan proto.ReceivedMessage //ExpertedHead为假定已死亡的对等端返回只读通道 PresumedDead() <-chan common.PKIidType //关闭CONNEN命令以关闭与某个对等体的连接 CloseConn(peer *NetworkMember) //转发将消息发送到下一个跃点,不包括跃点 //最初接收消息的来源 Forward(msg proto.ReceivedMessage) }
commservice是发现期望在创建时实现和传递的接口。
type CryptoService ¶
type CryptoService interface { //validateAliveMsg验证活动消息是否可信 ValidateAliveMsg(message *proto.SignedGossipMessage) bool //签署消息签署消息 SignMessage(m *proto.GossipMessage, internalEndpoint string) *proto.Envelope }
CryptoService是发现期望在创建时实现和传递的接口。
type DisclosurePolicy ¶
type DisclosurePolicy func(remotePeer *NetworkMember) (Sieve, EnvelopeFilter)
disclosurepolicy定义给定远程对等端的消息 有资格知道,也有资格知道什么是合格的 从给定的已签名的ossipMessage中了解。 返回: 1)给定远程对等机的筛选。 筛选应用于问题和输出中的每个对等点。 消息是否应向远程对等方公开。 2)给定已签名的ossipMessage的信封筛选器,它可以删除 签名的ossipMessage源自的信封的一部分
type Discovery ¶
type Discovery interface { //Lookup returns a network member, or nil if not found Lookup(PKIID common.PKIidType) *NetworkMember //self返回此实例的成员身份信息 Self() NetworkMember //updateMetadata更新此实例的元数据 UpdateMetadata([]byte) //updateEndpoint更新此实例的终结点 UpdateEndpoint(string) //停止此实例 Stop() //GetMembership返回视图中的活动成员 GetMembership() []NetworkMember //InitiateSync使实例询问给定数量的对等方 //他们的会员信息 InitiateSync(peerNum int) //Connect使此实例连接到远程实例 //标识符参数是一个可用于标识 //以及断言其pki-id,无论是否在对等组织中, //行动是否成功 Connect(member NetworkMember, id identifier) }
发现是表示发现模块的接口
func NewDiscoveryService ¶
func NewDiscoveryService(self NetworkMember, comm CommService, crypt CryptoService, disPol DisclosurePolicy) Discovery
NewDiscoveryService返回一个新的发现服务,传递了comm模块,传递了crypto服务
type EnvelopeFilter ¶
type EnvelopeFilter func(message *proto.SignedGossipMessage) *proto.Envelope
信封过滤器可以或不能移除信封的一部分。 that the given SignedGossipMessage originates from.
type Members ¶
type Members []NetworkMember
成员表示网络成员的聚合
func (Members) ByID ¶
func (members Members) ByID() map[string]NetworkMember
byid返回pki id的映射(字符串形式) 到网络成员
func (Members) Filter ¶
func (members Members) Filter(filter func(member NetworkMember) bool) Members
筛选器只返回满足给定筛选器的成员
func (Members) Map ¶
func (members Members) Map(f func(member NetworkMember) NetworkMember) Members
map向成员中的每个networkmember调用给定函数
type NetworkMember ¶
type NetworkMember struct { Endpoint string Metadata []byte PKIid common.PKIidType InternalEndpoint string Properties *proto.Properties *proto.Envelope }
networkmember是对等方的表示
func (NetworkMember) PreferredEndpoint ¶
func (n NetworkMember) PreferredEndpoint() string
PreferredEndpoint计算要连接的端点, 在首选内部终结点而不是标准终结点时 端点
type PeerIdentification ¶
对等身份包括远程对等的 PKI-ID and whether its in the same org as the current 同侪与否
type Sieve ¶
type Sieve func(message *proto.SignedGossipMessage) bool
筛选定义允许发送到某个远程对等机的消息, 基于某些标准。 返回筛选器是否允许发送给定的消息。