transport

package
v0.0.0-...-ef86c35 Latest Latest
Warning

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

Go to latest
Published: Feb 25, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultReceiver

func DefaultReceiver(c io.Reader) ([]byte, error)

func NoOpHandshake

func NoOpHandshake(Peer) error

Types

type HandshakeFunc

type HandshakeFunc func(Peer) error

type Message

type Message struct {
	Peer    Peer
	Payload []byte
}

type Peer

type Peer interface {
	Close() error
	Send([]byte) error
}

type Receiver

type Receiver func(io.Reader) ([]byte, error)

type TCPPeer

type TCPPeer struct {
	net.Conn
}

func (*TCPPeer) Close

func (t *TCPPeer) Close() error

func (*TCPPeer) Send

func (t *TCPPeer) Send(b []byte) error

type TCPTransport

type TCPTransport struct {
	Receive   Receiver
	Handshake HandshakeFunc
	// contains filtered or unexported fields
}

TCPTransport implements Transport

func NewTCPTransport

func NewTCPTransport(addr string) *TCPTransport

func (*TCPTransport) Addr

func (t *TCPTransport) Addr() string

func (*TCPTransport) Close

func (t *TCPTransport) Close() error

func (*TCPTransport) Consume

func (t *TCPTransport) Consume() <-chan Message

func (*TCPTransport) Listen

func (t *TCPTransport) Listen() error

type Transport

type Transport interface {
	Addr() string
	Listen() error
	Consume() <-chan Message
	Close() error
}

Jump to

Keyboard shortcuts

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