purgatory

package
v0.0.0-...-05bc493 Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2023 License: MIT Imports: 16 Imported by: 0

Documentation

Index

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 (*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 (*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

Jump to

Keyboard shortcuts

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