Documentation
¶
Index ¶
- type Acceptor
- type Conn
- type PlayerConn
- type ProxyProtocolListener
- type TCPAcceptor
- func (a *TCPAcceptor) EnableProxyProtocol()
- func (a *TCPAcceptor) GetAddr() string
- func (a *TCPAcceptor) GetConfiguredAddress() string
- func (a *TCPAcceptor) GetConnChan() chan PlayerConn
- func (a *TCPAcceptor) IsRunning() bool
- func (a *TCPAcceptor) ListenAndServe()
- func (a *TCPAcceptor) ListenAndServeTLS(cert, key string)
- func (a *TCPAcceptor) Stop()
- type WSAcceptor
- func (w *WSAcceptor) EnableProxyProtocol()
- func (w *WSAcceptor) GetAddr() string
- func (w *WSAcceptor) GetConfiguredAddress() string
- func (w *WSAcceptor) GetConnChan() chan PlayerConn
- func (w *WSAcceptor) IsRunning() bool
- func (w *WSAcceptor) ListenAndServe()
- func (w *WSAcceptor) ListenAndServeTLS(cert, key string)
- func (w *WSAcceptor) Stop()
- type WSConn
- func (c *WSConn) Close() error
- func (c *WSConn) GetNextMessage() (b []byte, err error)
- func (c *WSConn) LocalAddr() net.Addr
- func (c *WSConn) Read(b []byte) (int, error)
- func (c *WSConn) RemoteAddr() net.Addr
- func (c *WSConn) SetDeadline(t time.Time) error
- func (c *WSConn) SetReadDeadline(t time.Time) error
- func (c *WSConn) SetWriteDeadline(t time.Time) error
- func (c *WSConn) Write(b []byte) (int, error)
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() IsRunning() bool GetConfiguredAddress() string }
Acceptor type interface
type Conn ¶ added in v2.10.1
Conn is used to wrap and underlying connection which may be speaking the Proxy Protocol. If it is, the RemoteAddr() will return the address of the client instead of the proxy address.
func (*Conn) RemoteAddr ¶ added in v2.10.1
RemoteAddr returns the address of the client if the proxy protocol is being used, otherwise just returns the address of the socket peer. If there is an error parsing the header, the address of the client is not returned, and the socket is closed. Once implication of this is that the call could block if the client is slow. Using a Deadline is recommended if this is called before Read()
type PlayerConn ¶
PlayerConn iface
type ProxyProtocolListener ¶ added in v2.10.1
Listener is used to wrap an underlying listener, whose connections may be using the HAProxy Proxy Protocol. If the connection is using the protocol, the RemoteAddr() will return the correct client address.
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 ¶ added in v2.4.0
func NewTLSAcceptor(addr string, certs ...tls.Certificate) *TCPAcceptor
func (*TCPAcceptor) EnableProxyProtocol ¶ added in v2.3.0
func (a *TCPAcceptor) EnableProxyProtocol()
func (*TCPAcceptor) GetAddr ¶
func (a *TCPAcceptor) GetAddr() string
GetAddr returns the addr the acceptor will listen on
func (*TCPAcceptor) GetConfiguredAddress ¶ added in v2.7.2
func (a *TCPAcceptor) GetConfiguredAddress() string
func (*TCPAcceptor) GetConnChan ¶
func (a *TCPAcceptor) GetConnChan() chan PlayerConn
GetConnChan gets a connection channel
func (*TCPAcceptor) IsRunning ¶ added in v2.7.2
func (a *TCPAcceptor) IsRunning() bool
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
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 ¶ added in v2.3.0
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) GetConfiguredAddress ¶ added in v2.7.2
func (w *WSAcceptor) GetConfiguredAddress() string
func (*WSAcceptor) GetConnChan ¶
func (w *WSAcceptor) GetConnChan() chan PlayerConn
GetConnChan gets a connection channel
func (*WSAcceptor) IsRunning ¶ added in v2.7.2
func (w *WSAcceptor) IsRunning() bool
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
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 (*WSConn) Close ¶
Close closes the connection. Any blocked Read or Write operations will be unblocked and return errors.
func (*WSConn) GetNextMessage ¶
GetNextMessage reads the next message available in the stream
func (*WSConn) Read ¶
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 ¶
RemoteAddr returns the remote network address.
func (*WSConn) SetDeadline ¶
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 ¶
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 ¶
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.