Documentation
¶
Index ¶
- Constants
- Variables
- type Config
- type Game
- type NetworkTransport
- func NewNetworkTransport(stream StreamLayer, maxPool int, timeout time.Duration, logOutput io.Writer) *NetworkTransport
- func NewNetworkTransportWithConfig(config *NetworkTransportConfig) *NetworkTransport
- func NewTCPTransport(bindAddr string, advertise net.Addr, maxPool int, timeout time.Duration, ...) (*NetworkTransport, error)
- type NetworkTransportConfig
- type ProtocolVersion
- type RPC
- type RPCHeader
- type RPCRequest
- type RPCRequestRsp
- type RPCResponse
- type ServerAddress
- type StreamLayer
- type TCPStreamLayer
- type Transport
- type WithRPCHeader
Constants ¶
View Source
const ( // DefaultTimeoutScale is the default TimeoutScale in a NetworkTransport. DefaultTimeoutScale = 256 * 1024 // 256KB )
Variables ¶
View Source
var ( // ErrTransportShutdown is returned when operations on a transport are // invoked after it's been terminated. ErrTransportShutdown = errors.New("transport shutdown") // ErrPipelineShutdown is returned when the pipeline is closed. ErrPipelineShutdown = errors.New("append pipeline closed") )
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
HeartbeatTimeout time.Duration
NotifyCh chan<- bool
LogOutput io.Writer
LogLevel string
}
func DefaultConfig ¶
func DefaultConfig() *Config
type NetworkTransport ¶
type NetworkTransport struct {
TimeoutScale int
// contains filtered or unexported fields
}
func NewNetworkTransport ¶
func NewNetworkTransport( stream StreamLayer, maxPool int, timeout time.Duration, logOutput io.Writer, ) *NetworkTransport
func NewNetworkTransportWithConfig ¶
func NewNetworkTransportWithConfig( config *NetworkTransportConfig, ) *NetworkTransport
NewNetworkTransportWithConfig creates a new network transport with the given config struct
func NewTCPTransport ¶
func NewTCPTransport( bindAddr string, advertise net.Addr, maxPool int, timeout time.Duration, logOutput io.Writer, ) (*NetworkTransport, error)
NewTCPTransport returns a NetworkTransport that is built on top of a TCP streaming transport layer.
func (*NetworkTransport) Consumer ¶
func (n *NetworkTransport) Consumer() <-chan RPC
func (*NetworkTransport) IsShutdown ¶
func (n *NetworkTransport) IsShutdown() bool
func (*NetworkTransport) LocalAddr ¶
func (n *NetworkTransport) LocalAddr() ServerAddress
func (*NetworkTransport) SetHeartbeatHandler ¶
func (n *NetworkTransport) SetHeartbeatHandler(cb func(rpc RPC))
type NetworkTransportConfig ¶
type ProtocolVersion ¶
type ProtocolVersion int
type RPC ¶
type RPC struct {
Command interface{}
Reader io.Reader
RespChan chan<- RPCResponse
}
type RPCHeader ¶
type RPCHeader struct {
ProtocolVersion ProtocolVersion
}
type RPCRequest ¶
func (*RPCRequest) GetRPCHeader ¶
func (r *RPCRequest) GetRPCHeader() RPCHeader
type RPCRequestRsp ¶
func (*RPCRequestRsp) GetRPCHeader ¶
func (r *RPCRequestRsp) GetRPCHeader() RPCHeader
type RPCResponse ¶
type RPCResponse struct {
Response interface{}
Error error
}
type ServerAddress ¶
type ServerAddress string
type StreamLayer ¶
type TCPStreamLayer ¶
type TCPStreamLayer struct {
// contains filtered or unexported fields
}
TCPStreamLayer implements StreamLayer interface for plain TCP.
func (*TCPStreamLayer) Accept ¶
func (t *TCPStreamLayer) Accept() (c net.Conn, err error)
Accept implements the net.Listener interface.
func (*TCPStreamLayer) Addr ¶
func (t *TCPStreamLayer) Addr() net.Addr
Addr implements the net.Listener interface.
func (*TCPStreamLayer) Close ¶
func (t *TCPStreamLayer) Close() (err error)
Close implements the net.Listener interface.
func (*TCPStreamLayer) Dial ¶
func (t *TCPStreamLayer) Dial(address ServerAddress, timeout time.Duration) (net.Conn, error)
Dial implements the StreamLayer interface.
type WithRPCHeader ¶
type WithRPCHeader interface {
GetRPCHeader() RPCHeader
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.