Documentation
¶
Index ¶
- func JsonMessageSetMsgHead(msghead uint32) options
- func JsonMessageSetMsgMaxLen(max uint16) options
- type HttpJsonMessageHandle
- func (msghandle *HttpJsonMessageHandle) CheckMaxLenVaild(buff []byte) (msglen uint32, ok bool)
- func (msghandle *HttpJsonMessageHandle) GetRoute(msgid uint32) (result interface{}, err error)
- func (msghandle HttpJsonMessageHandle) Marshal(msgid uint32, data interface{}) ([]byte, error)
- func (msghandle *HttpJsonMessageHandle) SetRoute(msgid uint32, msg interface{})
- func (msghandle HttpJsonMessageHandle) Unmarshal(buff []byte) (data interface{}, err error)
- type IDataBaseMessage
- type IHttpMessageHandle
- type ILogicMessage
- type IMessage
- type IMessageHandle
- type INsqMessageHandle
- type INsqdResultMessage
- type ISocketMessageHandle
- type ISocketResultMessage
- type IWebSocketMessageHandle
- type JsonMessageHandle
- func (msghandle *JsonMessageHandle) CheckMaxLenVaild(buff []byte) (msglen uint32, ok bool)
- func (msghandle *JsonMessageHandle) GetRoute(msgid uint32) (result interface{}, err error)
- func (msghandle JsonMessageHandle) Marshal(msgid uint32, data interface{}) ([]byte, error)
- func (msghandle *JsonMessageHandle) SetRoute(msgid uint32, msg interface{})
- func (msghandle JsonMessageHandle) Unmarshal(buff []byte) (data interface{}, err error)
- type LogicMessage
- type NsqdMessage
- type SocketModel
- type WebSocketModel
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func JsonMessageSetMsgHead ¶
func JsonMessageSetMsgHead(msghead uint32) options
func JsonMessageSetMsgMaxLen ¶
func JsonMessageSetMsgMaxLen(max uint16) options
Types ¶
type HttpJsonMessageHandle ¶
type HttpJsonMessageHandle struct {
// contains filtered or unexported fields
}
func HttpJsonMessageHandleNew ¶
func HttpJsonMessageHandleNew(opts ...options) (msghandle *HttpJsonMessageHandle)
func (*HttpJsonMessageHandle) CheckMaxLenVaild ¶
func (msghandle *HttpJsonMessageHandle) CheckMaxLenVaild(buff []byte) (msglen uint32, ok bool)
一个消息是否收完了 返回这个消息应该的长度,和是否收完的信息
func (*HttpJsonMessageHandle) GetRoute ¶
func (msghandle *HttpJsonMessageHandle) GetRoute(msgid uint32) (result interface{}, err error)
按消息拿出消息处理实例
func (HttpJsonMessageHandle) Marshal ¶
func (msghandle HttpJsonMessageHandle) Marshal(msgid uint32, data interface{}) ([]byte, error)
编码
func (*HttpJsonMessageHandle) SetRoute ¶
func (msghandle *HttpJsonMessageHandle) SetRoute(msgid uint32, msg interface{})
设置消息路由
func (HttpJsonMessageHandle) Unmarshal ¶
func (msghandle HttpJsonMessageHandle) Unmarshal(buff []byte) (data interface{}, err error)
解码
type IDataBaseMessage ¶
type IDataBaseMessage interface {
//所在DB协程
DBThreadID() int
/*数据表,如果你的表放入时,不是马上保存的,那么后续可以用这个KEY来进行覆盖,
这样就可以实现多次修改一次保存的功能
所以这个字段建议是:用户ID+数据表名+数据主键
*/
GetDataKey() string
//调用方法
SaveDB(conn model.IConnDB) error
}
DataBase的处理接口
type IHttpMessageHandle ¶
type IHttpMessageHandle interface {
//HTTP的回调
HttpDirectCall(w http.ResponseWriter, req *http.Request)
}
type ILogicMessage ¶
type ILogicMessage interface {
//所在协程的KEY
LogicThreadID() int
//调用方法
MessageHandle()
}
LogicMessage 逻辑委托
type IMessageHandle ¶
type IMessageHandle interface {
//编码
Marshal(msgid uint32, data interface{}) ([]byte, error)
//解码
Unmarshal(buff []byte) (data interface{}, err error)
//设置消息路由
SetRoute(msgid uint32, msg interface{})
//按消息拿出消息处理实例
GetRoute(msgid uint32) (result interface{}, err error)
//一个消息是否收完了
CheckMaxLenVaild(buff []byte) (msglen uint32, ok bool)
}
消息收发接口
type INsqMessageHandle ¶
type INsqMessageHandle interface {
INsqdResultMessage
//Nsq的回调
NsqDirectCall()
}
type INsqdResultMessage ¶
type ISocketMessageHandle ¶
type ISocketMessageHandle interface {
ISocketResultMessage
//socket的回调
SocketDirectCall(ws *SocketModel)
}
type ISocketResultMessage ¶
type IWebSocketMessageHandle ¶
type IWebSocketMessageHandle interface {
//ws的回调
WebSocketDirectCall(ws *WebSocketModel)
}
type JsonMessageHandle ¶
type JsonMessageHandle struct {
// contains filtered or unexported fields
}
func JsonMessageHandleNew ¶
func JsonMessageHandleNew(opts ...options) (msghandle *JsonMessageHandle)
func (*JsonMessageHandle) CheckMaxLenVaild ¶
func (msghandle *JsonMessageHandle) CheckMaxLenVaild(buff []byte) (msglen uint32, ok bool)
一个消息是否收完了 返回这个消息应该的长度,和是否收完的信息
func (*JsonMessageHandle) GetRoute ¶
func (msghandle *JsonMessageHandle) GetRoute(msgid uint32) (result interface{}, err error)
按消息拿出消息处理实例
func (JsonMessageHandle) Marshal ¶
func (msghandle JsonMessageHandle) Marshal(msgid uint32, data interface{}) ([]byte, error)
编码
func (*JsonMessageHandle) SetRoute ¶
func (msghandle *JsonMessageHandle) SetRoute(msgid uint32, msg interface{})
设置消息路由
func (JsonMessageHandle) Unmarshal ¶
func (msghandle JsonMessageHandle) Unmarshal(buff []byte) (data interface{}, err error)
解码
type LogicMessage ¶
type LogicMessage struct {
UserID int
}
func (*LogicMessage) LogicThreadID ¶
func (msg *LogicMessage) LogicThreadID() int
type NsqdMessage ¶
type NsqdMessage struct {
SendUserID int //发信息用户ID
SendSID string //发信息服务器(回复用的信息)
ActionID uint32 //消息号
Topic string //目标
}
nsqd消息的基础结构
func (*NsqdMessage) GetActionID ¶
func (msg *NsqdMessage) GetActionID() uint32
func (*NsqdMessage) GetSendSID ¶
func (msg *NsqdMessage) GetSendSID() string
func (*NsqdMessage) GetSendUserID ¶
func (msg *NsqdMessage) GetSendUserID() int
func (*NsqdMessage) GetTopic ¶
func (msg *NsqdMessage) GetTopic() string
func (*NsqdMessage) SetSendSID ¶
func (msg *NsqdMessage) SetSendSID(sid string)
type SocketModel ¶
type SocketModel struct {
Conn net.Conn //连接信息
CloseFun func(skmd *SocketModel) //关闭连接时的方法
ConInfo interface{} //自定义的连接信息,给上层逻辑使用
KeyID int //用来标记的ID
}
SocketModel 用户连接对象
type WebSocketModel ¶
type WebSocketModel struct {
*websocket.Conn
CloseFun func(wsmd *WebSocketModel) //关闭连接时的方法
ConInfo interface{} //自定义的连接信息,给上层逻辑使用
KeyID int //用来标记的ID
}
WebSocketModel 用户连接对象
Click to show internal directories.
Click to hide internal directories.