Documentation
¶
Index ¶
- Constants
- Variables
- func Decode(buf []byte, flag byte, msg proto.Message) proto.Message
- func DecodeCmd(buf []byte, flag byte, msg proto.Message) proto.Message
- func DecodeCmdEx(buf []byte, flag byte, msg proto.Message, maxCmdSize int) proto.Message
- func Encode(cmd uint64, msg proto.Message) ([]byte, byte, error)
- func EncodeCmd(cmd uint64, msg proto.Message) ([]byte, byte, error)
- func EncodeCmdEx(cmd uint64, msg proto.Message, maxCompressSize, maxCmdSize int) ([]byte, byte, error)
- func GetCmd(buf []byte) uint64
- func GetCmdEx(buf []byte, maxCmdSize int) uint64
- func GetData(buf []byte) []byte
- func GetDataEx(buf []byte, maxCmdSize int) []byte
- func GetVaildPort(showmsg bool) int
- func SetLogger(log ILogger)
- type ByteBuffer
- func (bytebuffer *ByteBuffer) Append(buff []byte)
- func (bytebuffer *ByteBuffer) RdBuf() []byte
- func (bytebuffer *ByteBuffer) RdFlip(size int)
- func (bytebuffer *ByteBuffer) RdReady() bool
- func (bytebuffer *ByteBuffer) RdSize() int
- func (bytebuffer *ByteBuffer) Reset()
- func (bytebuffer *ByteBuffer) WrBuf() []byte
- func (bytebuffer *ByteBuffer) WrFlip(size int)
- func (bytebuffer *ByteBuffer) WrGrow(size int)
- func (bytebuffer *ByteBuffer) WrSize() int
- type DefaultLogger
- type ILogger
- type ISession
- type Server
- func (server *Server) Accept(fn func(s interface{})) error
- func (server *Server) Close()
- func (server *Server) GetAddress() string
- func (server *Server) GetRealPort() int32
- func (server *Server) GetSessionType() reflect.Type
- func (server *Server) Listen(addr string) (err error)
- func (server *Server) RegisterSessType(v interface{})
- func (server *Server) SetAddress(address string, port int32)
- func (server *Server) SetUnfixedPort(v bool)
- func (server *Server) SetUserData(v interface{})
- func (server *Server) Start() bool
- type Session
- func (sess *Session) Close()
- func (sess *Session) CloseAfterSending()
- func (sess *Session) CloseSessionOnly()
- func (sess *Session) Connect(address string, derived ISession) bool
- func (sess *Session) Init(root context.Context, conn net.Conn, derived ISession)
- func (sess *Session) IsClosed() bool
- func (sess *Session) IsVerified() bool
- func (sess *Session) LocalAddr() string
- func (sess *Session) RemoteAddr() string
- func (sess *Session) Send(buffer []byte, flag byte) bool
- func (sess *Session) SendEx(cmd int, buffer []byte, flag byte) bool
- func (sess *Session) SendMsg(cmd uint64, msg proto.Message) bool
- func (sess *Session) SendRaw(buffer []byte) bool
- func (sess *Session) SetSendBuffSizeLimt(limit int)
- func (sess *Session) Start()
- func (sess *Session) Verify()
Constants ¶
View Source
const ( // DefaultMaxCompressSize : 缺省启动压缩的数据大小 DefaultMaxCompressSize = 1024 // DefaultMaxCmdSize : 缺省CMD字段大小 DefaultMaxCmdSize = 2 // CmdSizeLimit : CMD字段大小限制 CmdSizeLimit = 8 )
Variables ¶
View Source
var DefaultRecvBuffSize = 128 * 1024 // 单位:字节
DefaultRecvBuffSize socket 接收缓冲区大小
View Source
var DefaultSendBuffSize = 128 * 1024 // 单位:字节
DefaultSendBuffSize socket 发送缓冲区大小
Functions ¶
func DecodeCmdEx ¶
DecodeCmdEx : 解析数据,获取 protobuf 消息
Types ¶
type ByteBuffer ¶
type ByteBuffer struct {
// contains filtered or unexported fields
}
ByteBuffer : 缓冲区类
func (*ByteBuffer) WrGrow ¶
func (bytebuffer *ByteBuffer) WrGrow(size int)
WrGrow : 如果缓冲区可写入区域大小小于 size ,扩大缓冲区
type DefaultLogger ¶
type DefaultLogger struct { }
DefaultLogger : 缺省日志类
func (*DefaultLogger) Errorf ¶
func (logger *DefaultLogger) Errorf(format string, args ...interface{})
Errorf :
func (*DefaultLogger) Infof ¶
func (logger *DefaultLogger) Infof(format string, args ...interface{})
Infof :
type ILogger ¶
type ILogger interface { Info(args ...interface{}) Infof(format string, args ...interface{}) Error(args ...interface{}) Errorf(format string, args ...interface{}) }
ILogger : 日志类接口
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server : TCP 服务器类
func (*Server) GetSessionType ¶
GetSessionType : 获取 Session 类型
func (*Server) RegisterSessType ¶
func (server *Server) RegisterSessType(v interface{})
RegisterSessType : 注册网络会话类型
func (*Server) SetAddress ¶
SetAddress : 设置地址
func (*Server) SetUnfixedPort ¶
SetUnfixedPort : 值为 True ,则寻找有效端口去监听
type Session ¶
Session : 网络会话类
func (*Session) CloseAfterSending ¶
func (sess *Session) CloseAfterSending()
CloseAfterSending : 数据发送完毕后,关闭连接
func (*Session) CloseSessionOnly ¶
func (sess *Session) CloseSessionOnly()
CloseSessionOnly : 关闭网络会话
func (*Session) SetSendBuffSizeLimt ¶
SetSendBuffSizeLimt : 设置发送缓冲区限制
Source Files
¶
Directories
¶
Path | Synopsis |
---|---|
example
|
|
proto_client
Package main is a generated protocol buffer package.
|
Package main is a generated protocol buffer package. |
Click to show internal directories.
Click to hide internal directories.