Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Serve ¶
Serve starts handling events for the specified addresses.
Addresses should use a scheme prefix and be formatted like `tcp://192.168.0.10:9851` or `unix://socket`. Valid network schemes:
tcp - bind to both IPv4 and IPv6 tcp4 - IPv4 tcp6 - IPv6 udp - bind to both IPv4 and IPv6 udp4 - IPv4 udp6 - IPv6 unix - Unix Domain Socket
The "tcp" network scheme is assumed when one is not specified.
Types ¶
type Conn ¶
type Conn interface { // Context returns a user-defined context. Context() interface{} // SetContext sets a user-defined context. SetContext(interface{}) // AddrIndex is the index of server address that was passed to the Serve call. AddrIndex() int // LocalAddr is the connection's local socket address. LocalAddr() net.Addr // RemoteAddr is the connection's remote peer address. RemoteAddr() net.Addr // Wake triggers a React event for this connection. Wake() }
Conn is an gnet connection.
type Events ¶
type Events struct { // Multicore indicates whether the server will be effectively created with multi-cores, if so, // then you must take care with synchonizing memory between all event callbacks, otherwise, // it will run the server with single thread. The number of threads in the server will be automatically // assigned to the value of runtime.NumCPU(). Multicore bool // OnInitComplete fires when the server can accept connections. The server // parameter has information and various utilities. OnInitComplete func(server Server) (action Action) // OnOpened fires when a new connection has opened. // The info parameter has information about the connection such as // it's local and remote address. // Use the out return value to write data to the connection. // The opts return value is used to set connection options. OnOpened func(c Conn) (out []byte, opts Options, action Action) // OnClosed fires when a connection has closed. // The err parameter is the last known connection error. OnClosed func(c Conn, err error) (action Action) // OnDetached fires when a connection has been previously detached. // Once detached it's up to the receiver of this event to manage the // state of the connection. The OnClosed event will not be called for // this connection. // The conn parameter is a ReadWriteCloser that represents the // underlying socket connection. It can be freely used in goroutines // and should be closed when it's no longer needed. OnDetached func(c Conn, rwc io.ReadWriteCloser) (action Action) // PreWrite fires just before any data is written to any client socket. PreWrite func() // React fires when a connection sends the server data. // The in parameter is the incoming data. // Use the out return value to write data to the connection. React func(c Conn, inBuf *ringbuffer.RingBuffer) (out []byte, action Action) // Tick fires immediately after the server starts and will fire again // following the duration specified by the delay return value. Tick func() (delay time.Duration, action Action) }
Events represents the server events for the Serve call. Each event has an Action return value that is used manage the state of the connection and server.
type Server ¶
type Server struct { // The addrs parameter is an array of listening addresses that align // with the addr strings passed to the Serve function. Addrs []net.Addr // NumLoops is the number of loops that the server is using. NumLoops int }
Server represents a server context which provides information about the running server and has control functions for managing state.
Click to show internal directories.
Click to hide internal directories.