acceptor

package
v2.7.1 Latest Latest
Warning

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

Go to latest
Published: Jan 15, 2024 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Acceptor

type Acceptor interface {
	ListenAndServe()
	Stop()
	GetAddr() string
	GetConnChan() chan PlayerConn
	EnableProxyProtocol()
}

Acceptor type interface

type PlayerConn

type PlayerConn interface {
	GetNextMessage() (b []byte, err error)
	RemoteAddr() net.Addr
	net.Conn
}

PlayerConn iface

type TCPAcceptor

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

TCPAcceptor struct

func NewTCPAcceptor

func NewTCPAcceptor(addr string, certs ...string) *TCPAcceptor

NewTCPAcceptor creates a new instance of tcp acceptor

func NewTLSAcceptor

func NewTLSAcceptor(addr string, certs ...tls.Certificate) *TCPAcceptor

func (*TCPAcceptor) EnableProxyProtocol

func (a *TCPAcceptor) EnableProxyProtocol()

func (*TCPAcceptor) GetAddr

func (a *TCPAcceptor) GetAddr() string

GetAddr returns the addr the acceptor will listen on

func (*TCPAcceptor) GetConnChan

func (a *TCPAcceptor) GetConnChan() chan PlayerConn

GetConnChan gets a connection channel

func (*TCPAcceptor) ListenAndServe

func (a *TCPAcceptor) ListenAndServe()

ListenAndServe using tcp acceptor

func (*TCPAcceptor) ListenAndServeTLS

func (a *TCPAcceptor) ListenAndServeTLS(cert, key string)

ListenAndServeTLS listens using tls

func (*TCPAcceptor) Stop

func (a *TCPAcceptor) Stop()

Stop stops the acceptor

type WSAcceptor

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

WSAcceptor struct

func NewWSAcceptor

func NewWSAcceptor(addr string, certs ...string) *WSAcceptor

NewWSAcceptor returns a new instance of WSAcceptor

func (*WSAcceptor) EnableProxyProtocol

func (w *WSAcceptor) EnableProxyProtocol()

PROXY protocol support not implemented for WS acceptor

func (*WSAcceptor) GetAddr

func (w *WSAcceptor) GetAddr() string

GetAddr returns the addr the acceptor will listen on

func (*WSAcceptor) GetConnChan

func (w *WSAcceptor) GetConnChan() chan PlayerConn

GetConnChan gets a connection channel

func (*WSAcceptor) ListenAndServe

func (w *WSAcceptor) ListenAndServe()

ListenAndServe listens and serve in the specified addr

func (*WSAcceptor) ListenAndServeTLS

func (w *WSAcceptor) ListenAndServeTLS(cert, key string)

ListenAndServeTLS listens and serve in the specified addr using tls

func (*WSAcceptor) Stop

func (w *WSAcceptor) Stop()

Stop stops the acceptor

type WSConn

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

WSConn is an adapter to t.Conn, which implements all t.Conn interface base on *websocket.Conn

func NewWSConn

func NewWSConn(conn *websocket.Conn) (*WSConn, error)

NewWSConn return an initialized *WSConn

func (*WSConn) Close

func (c *WSConn) Close() error

Close closes the connection. Any blocked Read or Write operations will be unblocked and return errors.

func (*WSConn) GetNextMessage

func (c *WSConn) GetNextMessage() (b []byte, err error)

GetNextMessage reads the next message available in the stream

func (*WSConn) LocalAddr

func (c *WSConn) LocalAddr() net.Addr

LocalAddr returns the local network address.

func (*WSConn) Read

func (c *WSConn) Read(b []byte) (int, error)

Read reads data from the connection. Read can be made to time out and return an Error with Timeout() == true after a fixed time limit; see SetDeadline and SetReadDeadline.

func (*WSConn) RemoteAddr

func (c *WSConn) RemoteAddr() net.Addr

RemoteAddr returns the remote network address.

func (*WSConn) SetDeadline

func (c *WSConn) SetDeadline(t time.Time) error

SetDeadline sets the read and write deadlines associated with the connection. It is equivalent to calling both SetReadDeadline and SetWriteDeadline.

A deadline is an absolute time after which I/O operations fail with a timeout (see type Error) instead of blocking. The deadline applies to all future and pending I/O, not just the immediately following call to Read or Write. After a deadline has been exceeded, the connection can be refreshed by setting a deadline in the future.

An idle timeout can be implemented by repeatedly extending the deadline after successful Read or Write calls.

A zero value for t means I/O operations will not time out.

func (*WSConn) SetReadDeadline

func (c *WSConn) SetReadDeadline(t time.Time) error

SetReadDeadline sets the deadline for future Read calls and any currently-blocked Read call. A zero value for t means Read will not time out.

func (*WSConn) SetWriteDeadline

func (c *WSConn) SetWriteDeadline(t time.Time) error

SetWriteDeadline sets the deadline for future Write calls and any currently-blocked Write call. Even if write times out, it may return n > 0, indicating that some of the data was successfully written. A zero value for t means Write will not time out.

func (*WSConn) Write

func (c *WSConn) Write(b []byte) (int, error)

Write writes data to the connection. Write can be made to time out and return an Error with Timeout() == true after a fixed time limit; see SetDeadline and SetWriteDeadline.

Jump to

Keyboard shortcuts

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