protocol

package
v0.2.3 Latest Latest
Warning

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

Go to latest
Published: Sep 9, 2019 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Ping      = MessageVariant(1)
	Pong      = MessageVariant(2)
	Cast      = MessageVariant(3)
	Multicast = MessageVariant(4)
	Broadcast = MessageVariant(5)
)
View Source
const (
	V1 = MessageVersion(1)
)

Variables

This section is empty.

Functions

func NewErrMessageVariantIsNotSupported added in v0.2.3

func NewErrMessageVariantIsNotSupported(variant MessageVariant) error

Types

type ErrMessageLengthIsTooLow

type ErrMessageLengthIsTooLow struct {
	Length MessageLength
	// contains filtered or unexported fields
}

type ErrMessageVariantIsNotSupported

type ErrMessageVariantIsNotSupported struct {
	Variant MessageVariant
	// contains filtered or unexported fields
}

type ErrMessageVersionIsNotSupported

type ErrMessageVersionIsNotSupported struct {
	Version MessageVersion
	// contains filtered or unexported fields
}

type Event

type Event interface {
	IsEvent()
}

type EventMessageReceived

type EventMessageReceived struct {
	Time    time.Time
	Message MessageBody
	From    PeerID
}

func (EventMessageReceived) IsEvent

func (EventMessageReceived) IsEvent()

type EventPeerChanged

type EventPeerChanged struct {
	Time        time.Time
	PeerAddress PeerAddress
}

func (EventPeerChanged) IsEvent

func (EventPeerChanged) IsEvent()

type EventReceiver

type EventReceiver <-chan Event

type EventSender

type EventSender chan<- Event

type Message

type Message struct {
	Length  MessageLength
	Version MessageVersion
	Variant MessageVariant
	Body    MessageBody
}

func NewMessage

func NewMessage(version MessageVersion, variant MessageVariant, body MessageBody) Message

func (Message) Hash

func (message Message) Hash() MessageHash

func (*Message) Read

func (message *Message) Read(reader io.Reader) error

func (Message) Write

func (message Message) Write(writer io.Writer) error

type MessageBody

type MessageBody []byte

func (MessageBody) String

func (body MessageBody) String() string

type MessageHash

type MessageHash [32]byte

func (MessageHash) String

func (hash MessageHash) String() string

type MessageLength

type MessageLength uint32

type MessageOnTheWire

type MessageOnTheWire struct {
	To      PeerID
	Message Message
}

type MessageReceive

type MessageReceive struct {
	Message Message
}

type MessageReceiver

type MessageReceiver <-chan MessageOnTheWire

type MessageSender

type MessageSender chan<- MessageOnTheWire

type MessageVariant

type MessageVariant uint16

func (MessageVariant) String

func (variant MessageVariant) String() string

type MessageVersion

type MessageVersion uint16

func (MessageVersion) String

func (version MessageVersion) String() string

type PeerAddress

type PeerAddress interface {
	fmt.Stringer

	Equal(PeerAddress) bool
	PeerID() PeerID
	NetworkAddress() net.Addr
	IsNewer(PeerAddress) bool
}

type PeerAddressCodec

type PeerAddressCodec interface {
	Encode(PeerAddress) ([]byte, error)
	Decode([]byte) (PeerAddress, error)
}

type PeerAddresses

type PeerAddresses []PeerAddress

type PeerID

type PeerID interface {
	fmt.Stringer

	Equal(PeerID) bool
}

type PeerIDs

type PeerIDs []PeerID

type SignVerifier

type SignVerifier interface {
	Sign(digest []byte) ([]byte, error)
	Verify(digest, sig []byte) error
	Hash(data []byte) []byte
	SigLength() uint64
}

Jump to

Keyboard shortcuts

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