peer_service

package
v0.0.0-...-ba64992 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2023 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewPayload

func NewPayload(payloadType peer_proto.PayloadType) *peer_proto.Payload

Types

type PayloadHandler

type PayloadHandler func(p *Peer, payload *peer_proto.Payload)

type Peer

type Peer struct {
	// contains filtered or unexported fields
}

func (*Peer) Close

func (p *Peer) Close() error

func (*Peer) Connected

func (p *Peer) Connected(connection *peer_transport.Connection)

func (*Peer) GetConnection

func (p *Peer) GetConnection() *peer_transport.Connection

func (*Peer) GetState

func (p *Peer) GetState() PeerState

func (*Peer) PeerId

func (p *Peer) PeerId() string

func (*Peer) Write

func (p *Peer) Write(payload *peer_proto.Payload) error

type PeerDocument

type PeerDocument struct {
	Id          primitive.ObjectID `bson:"_id,omitempty"`
	PeerId      string             `bson:"peerId"`
	HeartbeatAt time.Time          `bson:"heartbeatAt"`
	Address     string             `bson:"fullAddress"`
	Port        int                `bson:"port"`
}

func (*PeerDocument) GetId

func (d *PeerDocument) GetId() string

func (*PeerDocument) ToBson

func (d *PeerDocument) ToBson() (bson.M, error)

func (*PeerDocument) ToFilter

func (d *PeerDocument) ToFilter() bson.M

func (*PeerDocument) ToUpdate

func (d *PeerDocument) ToUpdate(newId primitive.ObjectID) (bson.M, error)

type PeerService

type PeerService interface {
	Start(appCtx context.Context, listenAddress string, peerNotifyAddress string, mongoDatabase *mongo.Database) error
	Stop()
	RegisterPayloadHandler(payloadType peer_proto.PayloadType, handler PayloadHandler)
	GetPeerId() string
	GetPeers() []*Peer
	NotifyTopic(peerId string, tenantId string, topicName string, data []byte) error
}

func New

func New() (PeerService, error)

type PeerState

type PeerState int32
const (
	PeerNotConnected PeerState = iota
	PeerConnecting   PeerState = iota
	PeerConnected    PeerState = iota
)

func (PeerState) String

func (s PeerState) String() string

Jump to

Keyboard shortcuts

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