net

package
v0.0.0-...-817dee4 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrTransportNotSupported = errors.New("no static method registered for type")
)

Functions

func CreateTransportSocket

func CreateTransportSocket(peerType string, uri *url.URL) (interface{}, error)

func RegisterTransport

func RegisterTransport(peerType string, factory interface{})

Types

type BasePeer

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

func (*BasePeer) Abuser

func (b *BasePeer) Abuser() bool

func (*BasePeer) Challenge

func (b *BasePeer) Challenge() []byte

func (*BasePeer) ConnectionURIs

func (b *BasePeer) ConnectionURIs() []*url.URL

func (*BasePeer) End

func (b *BasePeer) End() error

func (*BasePeer) EndForAbuse

func (b *BasePeer) EndForAbuse() error

func (*BasePeer) GetIP

func (b *BasePeer) GetIP() net.Addr

func (*BasePeer) GetIPString

func (b *BasePeer) GetIPString() string

func (*BasePeer) Id

func (b *BasePeer) Id() *encoding.NodeId

func (*BasePeer) IsConnected

func (b *BasePeer) IsConnected() bool

func (*BasePeer) IsHandshakeDone

func (b *BasePeer) IsHandshakeDone() bool

func (*BasePeer) ListenForMessages

func (b *BasePeer) ListenForMessages(callback EventCallback, options ListenerOptions)

func (*BasePeer) RenderLocationURI

func (b *BasePeer) RenderLocationURI() string

func (*BasePeer) SendMessage

func (b *BasePeer) SendMessage(message []byte) error

func (*BasePeer) SetChallenge

func (b *BasePeer) SetChallenge(challenge []byte)

func (*BasePeer) SetConnected

func (b *BasePeer) SetConnected(isConnected bool)

func (*BasePeer) SetConnectionURIs

func (b *BasePeer) SetConnectionURIs(uris []*url.URL)

func (*BasePeer) SetHandshakeDone

func (b *BasePeer) SetHandshakeDone(status bool)

func (*BasePeer) SetIP

func (b *BasePeer) SetIP(ip net.Addr)

func (*BasePeer) SetId

func (b *BasePeer) SetId(id *encoding.NodeId)

func (*BasePeer) SetSocket

func (b *BasePeer) SetSocket(socket interface{})

func (*BasePeer) Socket

func (b *BasePeer) Socket() interface{}

type CloseCallback

type CloseCallback func()

CloseCallback type for the OnClose callback

type ErrorCallback

type ErrorCallback func(args ...interface{})

ErrorCallback type for the onError callback

type EventCallback

type EventCallback func(event []byte) error

EventCallback type for the callback function

type ListenerOptions

type ListenerOptions struct {
	OnClose *CloseCallback
	OnError *ErrorCallback
	Logger  *zap.Logger
}

ListenerOptions struct for options

type Peer

type Peer interface {
	SendMessage(message []byte) error
	RenderLocationURI() string
	ListenForMessages(callback EventCallback, options ListenerOptions)
	End() error
	EndForAbuse() error
	SetId(id *encoding.NodeId)
	Id() *encoding.NodeId
	SetChallenge(challenge []byte)
	Challenge() []byte
	SetSocket(socket interface{})
	Socket() interface{}
	SetConnected(isConnected bool)
	IsConnected() bool
	SetConnectionURIs(uris []*url.URL)
	ConnectionURIs() []*url.URL
	IsHandshakeDone() bool
	SetHandshakeDone(status bool)
	GetIPString() string
	GetIP() net.Addr
	SetIP(ip net.Addr)
	Abuser() bool
}

func CreateTransportPeer

func CreateTransportPeer(peerType string, options *TransportPeerConfig) (Peer, error)

type PeerFactory

type PeerFactory interface {
	NewPeer(options *TransportPeerConfig) (Peer, error)
}

type PeerStatic

type PeerStatic interface {
	Connect(uri *url.URL) (interface{}, error) // Returns a connection/socket
}

type TransportPeerConfig

type TransportPeerConfig struct {
	Socket interface{}
	Uris   []*url.URL
}

type WebSocketPeer

type WebSocketPeer struct {
	BasePeer
	// contains filtered or unexported fields
}

func (*WebSocketPeer) Abuser

func (p *WebSocketPeer) Abuser() bool

func (*WebSocketPeer) Connect

func (p *WebSocketPeer) Connect(uri *url.URL) (interface{}, error)

func (*WebSocketPeer) End

func (p *WebSocketPeer) End() error

func (*WebSocketPeer) EndForAbuse

func (p *WebSocketPeer) EndForAbuse() error

func (*WebSocketPeer) GetChallenge

func (p *WebSocketPeer) GetChallenge() []byte

func (*WebSocketPeer) GetIP

func (p *WebSocketPeer) GetIP() net.Addr

func (*WebSocketPeer) GetIPString

func (b *WebSocketPeer) GetIPString() string

func (*WebSocketPeer) ListenForMessages

func (p *WebSocketPeer) ListenForMessages(callback EventCallback, options ListenerOptions)

func (*WebSocketPeer) NewPeer

func (p *WebSocketPeer) NewPeer(options *TransportPeerConfig) (Peer, error)

func (*WebSocketPeer) RenderLocationURI

func (p *WebSocketPeer) RenderLocationURI() string

func (*WebSocketPeer) SendMessage

func (p *WebSocketPeer) SendMessage(message []byte) error

func (*WebSocketPeer) SetChallenge

func (p *WebSocketPeer) SetChallenge(challenge []byte)

func (*WebSocketPeer) SetIP

func (p *WebSocketPeer) SetIP(ip net.Addr)

func (*WebSocketPeer) SetId

func (p *WebSocketPeer) SetId(id *encoding.NodeId)

Jump to

Keyboard shortcuts

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