rendezvous

package
v0.49.0 Latest Latest
Warning

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

Go to latest
Published: Mar 23, 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 IncomingRendezvousNexus

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

func NewIncomingRendezvousNexus

func NewIncomingRendezvousNexus(belowNexus nexus.Nexus, layer layer.Layer, directory *RendezvousDirectory) *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.BaseNexus
	// 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(nexus2 nexus.Nexus))

type RendezvousDirectory

type RendezvousDirectory struct {

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

func NewRendezvousDirectory

func NewRendezvousDirectory() *RendezvousDirectory

func (*RendezvousDirectory) AddNexus

func (r *RendezvousDirectory) AddNexus(nexus nexusHelper.Nexus, rendezvousId string)

add and index a nexus

func (*RendezvousDirectory) GetPeerNexus

func (r *RendezvousDirectory) GetPeerNexus(nexusId uuid.UUID) *nexusHelper.Nexus

get matching peer of a given nexus (1:1 mappnig)

func (*RendezvousDirectory) IsNexusInDirectory

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

wether or not nexus is indexed in directory

func (*RendezvousDirectory) IsRidPeered

func (r *RendezvousDirectory) IsRidPeered(rendezvousId string) bool

check if a rendezvous id currently has a peer

func (*RendezvousDirectory) RemoveNexus

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

remove a nexus from the directory

Jump to

Keyboard shortcuts

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