core

package
v0.0.0-...-28401ee Latest Latest
Warning

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

Go to latest
Published: Nov 4, 2019 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetMessageManager

func GetMessageManager() *message_bus.MessageBus

func IntToByte

func IntToByte(value uint64) []byte

func PackMessage

func PackMessage(msg *Protocol) []byte

func ReverseBytes

func ReverseBytes(data []byte)

ReverseBytes reverses a byte array

func UnpackMessage

func UnpackMessage(source []byte, readedMessage chan *Protocol, remoteAddr net.Addr) []byte

Types

type Heartbeat

type Heartbeat struct {
	Delay  float64 `json:"delay"`
	Health uint8   `json:"health"`
	// contains filtered or unexported fields
}

func NewHeartbeat

func NewHeartbeat() *Heartbeat

func (*Heartbeat) NewMessage

func (h *Heartbeat) NewMessage(sequence int64)

func (*Heartbeat) ResponseMessage

func (h *Heartbeat) ResponseMessage(sequence int64)

type Peer

type Peer struct {
	Guid      []byte     `json:"guid"`
	Node      *dht.Node  `json:"node"`
	Heartbeat *Heartbeat `json:"heartbeat"`
	// contains filtered or unexported fields
}

func NewPeerWithTransport

func NewPeerWithTransport(id []byte, node *dht.Node, t *dht.Transport) *Peer

func (*Peer) Close

func (p *Peer) Close()

func (*Peer) GetTransport

func (p *Peer) GetTransport() *dht.Transport

func (*Peer) Handshake

func (p *Peer) Handshake()

func (*Peer) Ping

func (p *Peer) Ping()

func (*Peer) Run

func (p *Peer) Run()

type PeerManager

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

func GetPeerManager

func GetPeerManager() *PeerManager

func NewPeerManager

func NewPeerManager() *PeerManager

func (*PeerManager) Clear

func (pm *PeerManager) Clear()

func (*PeerManager) Delete

func (pm *PeerManager) Delete(peerID []byte)

func (*PeerManager) DeleteMulti

func (pm *PeerManager) DeleteMulti(peerIDs [][]byte)

func (*PeerManager) Get

func (pm *PeerManager) Get(peerID []byte) (*Peer, bool)

func (*PeerManager) Has

func (pm *PeerManager) Has(peerID []byte) bool

func (*PeerManager) Iterator

func (pm *PeerManager) Iterator(iterator func(peer *Peer) error, errorContinue bool)

func (*PeerManager) Len

func (pm *PeerManager) Len() int

func (*PeerManager) Set

func (pm *PeerManager) Set(val *Peer)

type Protocol

type Protocol struct {
	Header     global.MessageType
	PeerID     []byte
	ProtocolID int64
	Payload    []byte
	RemoteAddr net.Addr
}

func UnpackMessageFromPackage

func UnpackMessageFromPackage(source []byte) *Protocol

type ProtocolHandler

type ProtocolHandler struct {
	Type   global.MessageType
	Runner ProtocolRunner
}

type ProtocolManager

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

func GetProtocolManager

func GetProtocolManager() *ProtocolManager

func (*ProtocolManager) GetProtocolRunner

func (m *ProtocolManager) GetProtocolRunner(messageType global.MessageType) ProtocolRunner

func (*ProtocolManager) RegisterProtocol

func (m *ProtocolManager) RegisterProtocol(handler ProtocolHandler)

type ProtocolRunner

type ProtocolRunner func(t *dht.Transport, msg *Protocol) error

Directories

Path Synopsis
compiler

Jump to

Keyboard shortcuts

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