core

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2022 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	GoroutineMap = &sync.Map{}
)

GoroutineMap

Functions

func CreateContextWithMessage

func CreateContextWithMessage(ctx context.Context, message *msg.RelayMsgBuf) context.Context

CreateContextWithMessage

func CreateContextWithNetID

func CreateContextWithNetID(ctx context.Context, netID int64) context.Context

CreateContextWithNetID

func MessageFromContext

func MessageFromContext(ctx context.Context) *msg.RelayMsgBuf

MessageFromContext get msg from context

func Mylog

func Mylog(b bool, v ...interface{})

Mylog

func NetIDFromContext

func NetIDFromContext(ctx context.Context) int64

NetIDFromContext

func Register

func Register(cmd string, handler func(context.Context, WriteCloser))

Register

Types

type Handler

type Handler interface {
	Handle(context.Context, interface{})
}

Handler

type HandlerFunc

type HandlerFunc func(context.Context, WriteCloser)

HandlerFunc

func GetHandlerFunc

func GetHandlerFunc(msgType string) HandlerFunc

GetHandlerFunc

func (HandlerFunc) Handle

func (f HandlerFunc) Handle(ctx context.Context, c WriteCloser)

Handle

type MsgHandler

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

MsgHandler

type Server

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

Server

func CreateServer

func CreateServer(opt ...ServerOption) *Server

CreateServer

func ServerFromCtx

func ServerFromCtx(ctx context.Context) (*Server, bool)

ServerFromCtx

func (*Server) Broadcast

func (s *Server) Broadcast(msg *msg.RelayMsgBuf)

Broadcast

func (*Server) ConnsSize

func (s *Server) ConnsSize() int

ConnsSize

func (*Server) GetInboundAndReset added in v0.5.0

func (s *Server) GetInboundAndReset() int64

func (*Server) GetOutboundAndReset added in v0.5.0

func (s *Server) GetOutboundAndReset() int64

func (*Server) GetReadFlow

func (s *Server) GetReadFlow() int64

unused

func (*Server) GetSecondReadFlow

func (s *Server) GetSecondReadFlow() int64

GetSecondReadFlow

func (*Server) GetSecondWriteFlow

func (s *Server) GetSecondWriteFlow() int64

GetSecondWriteFlow

func (*Server) GetWriteFlow

func (s *Server) GetWriteFlow() int64

unused

func (*Server) Start

func (s *Server) Start(l net.Listener) error

Start

func (*Server) Stop

func (s *Server) Stop()

Stop

func (*Server) Unicast

func (s *Server) Unicast(netid int64, msg *msg.RelayMsgBuf) error

Unicast

type ServerConn

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

ServerConn

func CreateServerConn

func CreateServerConn(id int64, s *Server, c net.Conn) *ServerConn

CreateServerConn

func (*ServerConn) Close

func (sc *ServerConn) Close()

Close

func (*ServerConn) GetIP

func (sc *ServerConn) GetIP() string

GetIP

func (*ServerConn) GetLocalAddr added in v0.5.0

func (sc *ServerConn) GetLocalAddr() string

func (*ServerConn) GetName

func (sc *ServerConn) GetName() string

GetName

func (*ServerConn) GetNetID

func (sc *ServerConn) GetNetID() int64

GetNetID

func (*ServerConn) GetPort

func (sc *ServerConn) GetPort() string

GetPort

func (*ServerConn) GetRemoteAddr added in v0.5.0

func (sc *ServerConn) GetRemoteAddr() string

func (*ServerConn) SetConnName

func (sc *ServerConn) SetConnName(name string)

SetConnName

func (*ServerConn) Start

func (sc *ServerConn) Start()

Start

func (*ServerConn) Write

func (sc *ServerConn) Write(message *message.RelayMsgBuf) error

Write * error is caught at application layer, if it's utils.ErrWouldBlock,sleep and then continue write

type ServerOption

type ServerOption func(*options)

ServerOption

func BufferSizeOption

func BufferSizeOption(indicator int) ServerOption

BufferSizeOption

func LogOpenOption

func LogOpenOption(b bool) ServerOption

LogOpenOption

func MaxConnectionsOption

func MaxConnectionsOption(indicator int) ServerOption

MaxConnectionsOption

func MaxFlowOption

func MaxFlowOption(indicator int) ServerOption

MaxFlowOption

func OnCloseOption

func OnCloseOption(cb func(WriteCloser)) ServerOption

OnCloseOption

func OnConnectOption

func OnConnectOption(cb func(WriteCloser) bool) ServerOption

OnConnectOption

func OnErrorOption

func OnErrorOption(cb func(WriteCloser)) ServerOption

OnErrorOption

func OnMessageOption

func OnMessageOption(cb func(msg.RelayMsgBuf, WriteCloser)) ServerOption

OnMessageOption

type TaskPool

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

TaskPool

var GlobalTaskPool *TaskPool

GlobalTaskPool

func (*TaskPool) Job

func (tp *TaskPool) Job(id int64, fc func()) error

Job: add job to the pool

type WriteCloser

type WriteCloser interface {
	Write(*message.RelayMsgBuf) error
	Close()
}

WriteCloser

Jump to

Keyboard shortcuts

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