Documentation
¶
Index ¶
- type AnnouncingMember
- type NodePhantom
- func (p *NodePhantom) ApplyNeighbourEvidence(n *population.NodeAppearance, ma profiles.MemberAnnouncement, cappedTrust bool, ...) (bool, error)
- func (p *NodePhantom) Blames() misbehavior.BlameFactory
- func (p *NodePhantom) CanReceivePacket(pt phases.PacketType) bool
- func (p *NodePhantom) DispatchAnnouncement(ctx context.Context, rank member.Rank, profile profiles.StaticProfile, ...) error
- func (p *NodePhantom) DispatchMemberPacket(ctx context.Context, packet transport.PacketParser, from endpoints.Inbound, ...) error
- func (p *NodePhantom) EncryptJoinerSecret(joinerSecret cryptkit.DigestHolder) cryptkit.DigestHolder
- func (p *NodePhantom) Frauds() misbehavior.FraudFactory
- func (p *NodePhantom) GetAnnouncementAsJoiner() *transport.JoinerAnnouncement
- func (p *NodePhantom) GetNodeID() node.ShortNodeID
- func (p *NodePhantom) GetReportProfile() profiles.BaseNode
- func (p *NodePhantom) GetStatic() profiles.StaticProfile
- func (p *NodePhantom) IntroducedBy(node.ShortNodeID)
- func (p *NodePhantom) IsJoiner() bool
- func (p *NodePhantom) SetPacketReceived(pt phases.PacketType) bool
- func (p *NodePhantom) SetPacketSent(pt phases.PacketType) bool
- func (p *NodePhantom) VerifyPacketAuthenticity(ps cryptkit.SignedDigest, from endpoints.Inbound, strictFrom bool) error
- type RealmPurgatory
- func (p *RealmPurgatory) AddJoinerAndEnsureAscendancy(ctx context.Context, announcement profiles.JoinerAnnouncement, ...) error
- func (p *RealmPurgatory) FindJoinerProfile(nodeID node.ShortNodeID, introducedBy node.ShortNodeID) profiles.StaticProfile
- func (p *RealmPurgatory) FindMember(id node.ShortNodeID, introducedBy node.ShortNodeID) AnnouncingMember
- func (p *RealmPurgatory) GetJoinerAnnouncement(nodeID node.ShortNodeID, introducedBy node.ShortNodeID) *transport.JoinerAnnouncement
- func (p *RealmPurgatory) GetPhantomNode(id node.ShortNodeID) *NodePhantom
- func (p *RealmPurgatory) IsBriefAscensionAllowed() bool
- func (p *RealmPurgatory) IsJoinerSecretRequired() bool
- func (p *RealmPurgatory) UnknownAsSelfFromMemberAnnouncement(ctx context.Context, id node.ShortNodeID, profile profiles.StaticProfile, ...) (bool, error)
- func (p *RealmPurgatory) UnknownFromNeighbourhood(ctx context.Context, rank member.Rank, ...) error
- func (p *RealmPurgatory) UnknownJoinerFromNeighbourhood(ctx context.Context, joinerID, announcedByID node.ShortNodeID) error
- func (p *RealmPurgatory) VerifyNeighbour(announcement profiles.MemberAnnouncement, n *population.NodeAppearance) (AnnouncingMember, bool)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AnnouncingMember ¶
type AnnouncingMember interface { IsJoiner() bool GetNodeID() node.ShortNodeID Blames() misbehavior.BlameFactory Frauds() misbehavior.FraudFactory GetReportProfile() profiles.BaseNode DispatchAnnouncement(ctx context.Context, rank member.Rank, profile profiles.StaticProfile, announcement profiles.MemberAnnouncement) error ApplyNeighbourEvidence(n *population.NodeAppearance, an profiles.MemberAnnouncement, cappedTrust bool, applyAfterChecks population.MembershipApplyFunc) (bool, error) GetStatic() profiles.StaticProfile }
type NodePhantom ¶
type NodePhantom struct {
// contains filtered or unexported fields
}
func NewNodePhantom ¶
func NewNodePhantom(purgatory *RealmPurgatory, nodeID node.ShortNodeID, limiter phases.PacketLimiter) *NodePhantom
func (*NodePhantom) ApplyNeighbourEvidence ¶
func (p *NodePhantom) ApplyNeighbourEvidence(n *population.NodeAppearance, ma profiles.MemberAnnouncement, cappedTrust bool, applyAfterChecks population.MembershipApplyFunc) (bool, error)
func (*NodePhantom) Blames ¶
func (p *NodePhantom) Blames() misbehavior.BlameFactory
func (*NodePhantom) CanReceivePacket ¶
func (p *NodePhantom) CanReceivePacket(pt phases.PacketType) bool
func (*NodePhantom) DispatchAnnouncement ¶
func (p *NodePhantom) DispatchAnnouncement(ctx context.Context, rank member.Rank, profile profiles.StaticProfile, announcement profiles.MemberAnnouncement) error
func (*NodePhantom) DispatchMemberPacket ¶
func (p *NodePhantom) DispatchMemberPacket(ctx context.Context, packet transport.PacketParser, from endpoints.Inbound, flags coreapi.PacketVerifyFlags, pd population.PacketDispatcher) error
func (*NodePhantom) EncryptJoinerSecret ¶
func (p *NodePhantom) EncryptJoinerSecret(joinerSecret cryptkit.DigestHolder) cryptkit.DigestHolder
func (*NodePhantom) Frauds ¶
func (p *NodePhantom) Frauds() misbehavior.FraudFactory
func (*NodePhantom) GetAnnouncementAsJoiner ¶
func (p *NodePhantom) GetAnnouncementAsJoiner() *transport.JoinerAnnouncement
func (*NodePhantom) GetNodeID ¶
func (p *NodePhantom) GetNodeID() node.ShortNodeID
func (*NodePhantom) GetReportProfile ¶
func (p *NodePhantom) GetReportProfile() profiles.BaseNode
func (*NodePhantom) GetStatic ¶
func (p *NodePhantom) GetStatic() profiles.StaticProfile
func (*NodePhantom) IntroducedBy ¶
func (p *NodePhantom) IntroducedBy(node.ShortNodeID)
func (*NodePhantom) IsJoiner ¶
func (p *NodePhantom) IsJoiner() bool
func (*NodePhantom) SetPacketReceived ¶
func (p *NodePhantom) SetPacketReceived(pt phases.PacketType) bool
func (*NodePhantom) SetPacketSent ¶
func (p *NodePhantom) SetPacketSent(pt phases.PacketType) bool
func (*NodePhantom) VerifyPacketAuthenticity ¶
func (p *NodePhantom) VerifyPacketAuthenticity(ps cryptkit.SignedDigest, from endpoints.Inbound, strictFrom bool) error
type RealmPurgatory ¶
type RealmPurgatory struct {
// contains filtered or unexported fields
}
func NewRealmPurgatory ¶
func NewRealmPurgatory(population population.RealmPopulation, _ profiles.Factory, svf cryptkit.SignatureVerifierFactory, hook *population.Hook, postponedPacketFn packetdispatch.PostponedPacketFunc) RealmPurgatory
func (*RealmPurgatory) AddJoinerAndEnsureAscendancy ¶
func (p *RealmPurgatory) AddJoinerAndEnsureAscendancy( ctx context.Context, announcement profiles.JoinerAnnouncement, announcedByID node.ShortNodeID) error
WARNING! Is called under NodeAppearance lock
func (*RealmPurgatory) FindJoinerProfile ¶
func (p *RealmPurgatory) FindJoinerProfile(nodeID node.ShortNodeID, introducedBy node.ShortNodeID) profiles.StaticProfile
func (*RealmPurgatory) FindMember ¶
func (p *RealmPurgatory) FindMember(id node.ShortNodeID, introducedBy node.ShortNodeID) AnnouncingMember
func (*RealmPurgatory) GetJoinerAnnouncement ¶
func (p *RealmPurgatory) GetJoinerAnnouncement(nodeID node.ShortNodeID, introducedBy node.ShortNodeID) *transport.JoinerAnnouncement
func (*RealmPurgatory) GetPhantomNode ¶
func (p *RealmPurgatory) GetPhantomNode(id node.ShortNodeID) *NodePhantom
func (*RealmPurgatory) IsBriefAscensionAllowed ¶
func (p *RealmPurgatory) IsBriefAscensionAllowed() bool
func (*RealmPurgatory) IsJoinerSecretRequired ¶
func (p *RealmPurgatory) IsJoinerSecretRequired() bool
func (*RealmPurgatory) UnknownAsSelfFromMemberAnnouncement ¶
func (p *RealmPurgatory) UnknownAsSelfFromMemberAnnouncement(ctx context.Context, id node.ShortNodeID, profile profiles.StaticProfile, rank member.Rank, announcement profiles.MemberAnnouncement) (bool, error)
func (*RealmPurgatory) UnknownFromNeighbourhood ¶
func (p *RealmPurgatory) UnknownFromNeighbourhood(ctx context.Context, rank member.Rank, announcement profiles.MemberAnnouncement, cappedTrust bool) error
func (*RealmPurgatory) UnknownJoinerFromNeighbourhood ¶
func (p *RealmPurgatory) UnknownJoinerFromNeighbourhood(ctx context.Context, joinerID, announcedByID node.ShortNodeID) error
func (*RealmPurgatory) VerifyNeighbour ¶
func (p *RealmPurgatory) VerifyNeighbour(announcement profiles.MemberAnnouncement, n *population.NodeAppearance) (AnnouncingMember, bool)
Click to show internal directories.
Click to hide internal directories.