rendezvous

package
v0.55.0 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2021 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const IncomingRendezvousNexusName = "IncomingRendezvousNexus"
View Source
const OutgoingRendezvousNexusName = "OutgoingRendezvousNexus"

Variables

This section is empty.

Functions

This section is empty.

Types

type Directory added in v0.54.0

type Directory struct {

	// NexusesByUUID is a map from uuid to corresponding nexus
	NexusesByUUID map[string]nexusHelper.Nexus
	// RidsByUUIDs is a map from nexus uuid to corresponding rendezvous id
	RidsByUUIDs map[string]string
	// UnpeeredUUIDsByRid is a map of uuids that are currently unpaired sorted by rendezvous id
	UnpeeredUUIDsByRid map[string]string
	// UUIDPeers is a map of nexus to the uuid of the corresponding peer
	UUIDPeers map[string]string
	// RIDSPeered is a list of rids which are currently peered
	RIDSPeered []string
	// contains filtered or unexported fields
}

RendezvousDirectory stores nexus peering data

func NewRendezvousDirectory

func NewRendezvousDirectory() *Directory

NewRendezvousDirectory creates a new RendezvousDirectory

func (*Directory) AddNexus added in v0.54.0

func (r *Directory) AddNexus(nexus nexusHelper.Nexus, rendezvousID string)

AddNexus adds and indexes a nexus

func (*Directory) GetPeerNexus added in v0.54.0

func (r *Directory) GetPeerNexus(nexusID uuid.UUID) *nexusHelper.Nexus

GetPeerNexus get matching peer of a given nexus (1:1 mapping)

func (*Directory) IsNexusInDirectory added in v0.54.0

func (r *Directory) IsNexusInDirectory(nexus nexusHelper.Nexus) bool

IsNexusInDirectory determines wether or not nexus is indexed in directory

func (*Directory) IsRidPeered added in v0.54.0

func (r *Directory) IsRidPeered(rendezvousID string) bool

IsRidPeered checks if a rendezvous id currently has a peer

func (*Directory) RemoveNexus added in v0.54.0

func (r *Directory) RemoveNexus(nexus nexusHelper.Nexus)

RemoveNexus removes a nexus from the directory

func (*Directory) ToString added in v0.54.0

func (r *Directory) ToString() string

ToString gets the number of nexuses/peered/unpeered

type IncomingRendezvousNexus

type IncomingRendezvousNexus struct {
	*base.NexusBase
	// contains filtered or unexported fields
}

func NewIncomingRendezvousNexus

func NewIncomingRendezvousNexus(belowNexus nexus.Nexus, layer layer.Layer, directory *Directory) *IncomingRendezvousNexus

func (*IncomingRendezvousNexus) EndRendezvous

func (i *IncomingRendezvousNexus) EndRendezvous()

func (*IncomingRendezvousNexus) IsLayerMessage

func (*IncomingRendezvousNexus) OnBinMessage

func (i *IncomingRendezvousNexus) OnBinMessage(belowNexus nexus.Nexus, msgByte []byte)

func (*IncomingRendezvousNexus) OnMessage

func (i *IncomingRendezvousNexus) OnMessage(belowNexus nexus.Nexus, msg message_base.MoneysocketMessage)

func (*IncomingRendezvousNexus) RendezvousAcheived

func (i *IncomingRendezvousNexus) RendezvousAcheived()

called by other peer

func (*IncomingRendezvousNexus) WaitForRendezvous

func (i *IncomingRendezvousNexus) WaitForRendezvous(rendezvousFinishedCb func(nexus.Nexus))

type OutgoingRendezvousNexus

type OutgoingRendezvousNexus struct {
	*base.NexusBase
	// contains filtered or unexported fields
}

func NewOutgoingRendezvousNexus

func NewOutgoingRendezvousNexus(belowNexus nexus.Nexus, layer layer.Layer) *OutgoingRendezvousNexus

func (OutgoingRendezvousNexus) IsLayerMessage

func (*OutgoingRendezvousNexus) OnBinMessage

func (o *OutgoingRendezvousNexus) OnBinMessage(belowNexus nexus.Nexus, msg []byte)

func (*OutgoingRendezvousNexus) OnMessage

func (o *OutgoingRendezvousNexus) OnMessage(belowNexus nexus.Nexus, msg message_base.MoneysocketMessage)

func (*OutgoingRendezvousNexus) StartRendezvous

func (o *OutgoingRendezvousNexus) StartRendezvous(rendevousID string, rendezvousFinishedCb func(nexus nexus.Nexus))

Jump to

Keyboard shortcuts

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