Documentation
¶
Index ¶
Constants ¶
View Source
const ( PH = 0 SizeofMessageID = 2 SizeofMessageSeq = 4 )
View Source
const DefaultMinDispatchInterval = 100 * time.Millisecond
Variables ¶
View Source
var (
ByteOrder = binary.LittleEndian // 小端
)
Functions ¶
This section is empty.
Types ¶
type IMessageDispatcherManager ¶
type IMessageDispatcherManager interface { MustRegister(id MessageID, handler MessageHandler) Register(id MessageID, handler MessageHandler) (err error) MustRegisterWithLimit(id MessageID, handler MessageHandler, minDispatchInterval time.Duration) RegisterWithLimit(id MessageID, handler MessageHandler, minDispatchInterval time.Duration) (err error) Dispatch(iMsg IMessage, args ...interface{}) error SetLimit(id MessageID, minInterval time.Duration) error }
func NewMessageDispatcherManager ¶
func NewMessageDispatcherManager() IMessageDispatcherManager
type IMessageFactoryManager ¶
type IMessageFactoryManager interface { Register(iMsg IMessage, producer messageProducer, recycler messageRecycler) Produce(id MessageID) (IMessage, error) Recycle(iMsg IMessage) error ReflectType(id MessageID) reflect.Type }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
func NewMessageFactoryManager ¶
func NewMessageFactoryManager() IMessageFactoryManager
type IProtocol ¶
type IProtocol interface { IMessageFactoryManager Alloc(size int) []byte Free(buffer []byte) Encrypt(data []byte) (err error) Decrypt(data []byte) (err error) EncodeTo(iMsg IMessage, seq MessageSeq, data []byte) (err error) Encode(iMsg IMessage, seq MessageSeq) (data []byte, err error) Decode(data []byte) (iMsg IMessage, seq MessageSeq, err error) }
func New ¶
func New(allocator p.IAllocator, encryptor p.IEncryptor, decryptor p.IDecryptor) IProtocol
type MessageHandler ¶
type MessageHandler func(iRecv IMessage, args ...interface{})
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
type MessageSeq ¶
type MessageSeq = uint32
Click to show internal directories.
Click to hide internal directories.