Documentation
¶
Index ¶
- func GateJsonMessageSetMsgHead(msghead uint32) options
- func GateJsonMessageSetMsgMaxLen(max uint16) options
- func GateProtoMessageSetMsgHead(msghead uint32) options
- func GateProtoMessageSetMsgMaxLen(max uint16) options
- func JsonMessageSetMsgHead(msghead uint32) options
- func JsonMessageSetMsgMaxLen(max uint16) options
- type GateChangeMsg
- type GateJsonMessageHandle
- func (msghandle *GateJsonMessageHandle) CheckMaxLenVaild(buff []byte) (msglen uint32, ok bool)
- func (msghandle *GateJsonMessageHandle) GateMarshal(gate IGateMessage, data interface{}) ([]byte, error)
- func (msghandle *GateJsonMessageHandle) GetRoute(msgid uint32) (result interface{}, err error)
- func (msghandle *GateJsonMessageHandle) Marshal(msgid uint32, data interface{}) ([]byte, error)
- func (msghandle *GateJsonMessageHandle) SetRoute(msgid uint32, msg interface{})
- func (msghandle *GateJsonMessageHandle) Unmarshal(buff []byte) (data interface{}, err error)
- type GateMessage
- func (msg *GateMessage) GateMarshal() ([]byte, uint32)
- func (msg *GateMessage) GateUnmarshal(buff []byte) ([]byte, uint32)
- func (msg *GateMessage) GetMsgID() uint32
- func (msg *GateMessage) GetMyID() uint32
- func (msg *GateMessage) GetTargetID() uint32
- func (msg *GateMessage) SetMsgID(msgid uint32)
- func (msg *GateMessage) SetMyID(myid uint32)
- func (msg *GateMessage) SetTargetID(targetid uint32)
- type GateProtoMessageHandle
- func (msghandle *GateProtoMessageHandle) CheckMaxLenVaild(buff []byte) (msglen uint32, ok bool)
- func (msghandle *GateProtoMessageHandle) GateMarshal(gate IGateMessage, data interface{}) ([]byte, error)
- func (msghandle *GateProtoMessageHandle) GetRoute(msgid uint32) (result interface{}, err error)
- func (msghandle *GateProtoMessageHandle) Marshal(msgid uint32, data interface{}) ([]byte, error)
- func (msghandle *GateProtoMessageHandle) SetRoute(msgid uint32, msg interface{})
- func (msghandle *GateProtoMessageHandle) Unmarshal(buff []byte) (data interface{}, err error)
- type HttpJsonMessageHandle
- func (msghandle *HttpJsonMessageHandle) CheckMaxLenVaild(buff []byte) (msglen uint32, ok bool)
- func (msghandle *HttpJsonMessageHandle) GateMarshal(gate IGateMessage, data interface{}) ([]byte, error)
- 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 IGateChange
- type IGateMessage
- type IHttpMessageHandle
- type ILogicMessage
- type IMessage
- type IMessageHandle
- type INsqMessageHandle
- type INsqdResultMessage
- type ISocketMessageHandle
- type ISocketResultMessage
- type IWebSocketMessageHandle
- type JsonArray
- type JsonMap
- type JsonMessageHandle
- func (msghandle *JsonMessageHandle) CheckMaxLenVaild(buff []byte) (msglen uint32, ok bool)
- func (msghandle *JsonMessageHandle) GateMarshal(gate IGateMessage, data interface{}) ([]byte, error)
- 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 Message
- type MessageJson
- type NsqdMessage
- type ScoketMessage
- type SocketModel
- type WebMessage
- type WebScoketMessage
- type WebSocketModel
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GateJsonMessageSetMsgHead ¶ added in v1.2.3
func GateJsonMessageSetMsgHead(msghead uint32) options
func GateJsonMessageSetMsgMaxLen ¶ added in v1.2.3
func GateJsonMessageSetMsgMaxLen(max uint16) options
func GateProtoMessageSetMsgHead ¶ added in v1.2.5
func GateProtoMessageSetMsgHead(msghead uint32) options
func GateProtoMessageSetMsgMaxLen ¶ added in v1.2.5
func GateProtoMessageSetMsgMaxLen(max uint16) options
func JsonMessageSetMsgHead ¶
func JsonMessageSetMsgHead(msghead uint32) options
func JsonMessageSetMsgMaxLen ¶
func JsonMessageSetMsgMaxLen(max uint16) options
Types ¶
type GateChangeMsg ¶ added in v1.3.0
type GateChangeMsg struct {
// contains filtered or unexported fields
}
gate用来中转消息的结构
func (*GateChangeMsg) GetBuffByte ¶ added in v1.3.0
func (this *GateChangeMsg) GetBuffByte() *bytes.Buffer
func (*GateChangeMsg) SetBuffByte ¶ added in v1.3.0
func (this *GateChangeMsg) SetBuffByte(buff []byte)
type GateJsonMessageHandle ¶ added in v1.2.3
type GateJsonMessageHandle struct {
// contains filtered or unexported fields
}
这个还没有完成
func GateJsonMessageHandleNew ¶ added in v1.2.3
func GateJsonMessageHandleNew(opts ...options) (msghandle *GateJsonMessageHandle)
func (*GateJsonMessageHandle) CheckMaxLenVaild ¶ added in v1.2.3
func (msghandle *GateJsonMessageHandle) CheckMaxLenVaild(buff []byte) (msglen uint32, ok bool)
一个消息是否收完了 返回这个消息应该的长度,和是否收完的信息
func (*GateJsonMessageHandle) GateMarshal ¶ added in v1.2.5
func (msghandle *GateJsonMessageHandle) GateMarshal(gate IGateMessage, data interface{}) ([]byte, error)
func (*GateJsonMessageHandle) GetRoute ¶ added in v1.2.3
func (msghandle *GateJsonMessageHandle) GetRoute(msgid uint32) (result interface{}, err error)
按消息拿出消息处理实例
func (*GateJsonMessageHandle) Marshal ¶ added in v1.2.3
func (msghandle *GateJsonMessageHandle) Marshal(msgid uint32, data interface{}) ([]byte, error)
编码
func (*GateJsonMessageHandle) SetRoute ¶ added in v1.2.3
func (msghandle *GateJsonMessageHandle) SetRoute(msgid uint32, msg interface{})
设置消息路由
func (*GateJsonMessageHandle) Unmarshal ¶ added in v1.2.3
func (msghandle *GateJsonMessageHandle) Unmarshal(buff []byte) (data interface{}, err error)
解码
type GateMessage ¶ added in v1.2.5
type GateMessage struct { MsgID uint32 `json:"-"` //消息号 MyID uint32 `json:"-"` //消息源ID TargetID uint32 `json:"-"` //目标ID }
func (*GateMessage) GateMarshal ¶ added in v1.3.0
func (msg *GateMessage) GateMarshal() ([]byte, uint32)
编码
func (*GateMessage) GateUnmarshal ¶ added in v1.3.0
func (msg *GateMessage) GateUnmarshal(buff []byte) ([]byte, uint32)
解码
func (*GateMessage) GetMsgID ¶ added in v1.2.5
func (msg *GateMessage) GetMsgID() uint32
func (*GateMessage) GetMyID ¶ added in v1.2.5
func (msg *GateMessage) GetMyID() uint32
func (*GateMessage) GetTargetID ¶ added in v1.2.5
func (msg *GateMessage) GetTargetID() uint32
func (*GateMessage) SetMsgID ¶ added in v1.2.5
func (msg *GateMessage) SetMsgID(msgid uint32)
func (*GateMessage) SetMyID ¶ added in v1.2.5
func (msg *GateMessage) SetMyID(myid uint32)
func (*GateMessage) SetTargetID ¶ added in v1.2.5
func (msg *GateMessage) SetTargetID(targetid uint32)
type GateProtoMessageHandle ¶ added in v1.2.5
type GateProtoMessageHandle struct {
// contains filtered or unexported fields
}
func GateProtoMessageHandleNew ¶ added in v1.2.5
func GateProtoMessageHandleNew(opts ...options) (msghandle *GateProtoMessageHandle)
func (*GateProtoMessageHandle) CheckMaxLenVaild ¶ added in v1.2.5
func (msghandle *GateProtoMessageHandle) CheckMaxLenVaild(buff []byte) (msglen uint32, ok bool)
一个消息是否收完了 返回这个消息应该的长度,和是否收完的信息
func (*GateProtoMessageHandle) GateMarshal ¶ added in v1.2.5
func (msghandle *GateProtoMessageHandle) GateMarshal(gate IGateMessage, data interface{}) ([]byte, error)
func (*GateProtoMessageHandle) GetRoute ¶ added in v1.2.5
func (msghandle *GateProtoMessageHandle) GetRoute(msgid uint32) (result interface{}, err error)
按消息拿出消息处理实例
func (*GateProtoMessageHandle) Marshal ¶ added in v1.2.5
func (msghandle *GateProtoMessageHandle) Marshal(msgid uint32, data interface{}) ([]byte, error)
编码
func (*GateProtoMessageHandle) SetRoute ¶ added in v1.2.5
func (msghandle *GateProtoMessageHandle) SetRoute(msgid uint32, msg interface{})
设置消息路由
func (*GateProtoMessageHandle) Unmarshal ¶ added in v1.2.5
func (msghandle *GateProtoMessageHandle) Unmarshal(buff []byte) (data interface{}, err error)
解码
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) GateMarshal ¶ added in v1.2.5
func (msghandle *HttpJsonMessageHandle) GateMarshal(gate IGateMessage, data interface{}) ([]byte, error)
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 IGateChange ¶ added in v1.3.0
type IGateMessage ¶ added in v1.2.5
type IGateMessage interface { // SetMsgID(msgid uint32) // SetMyID(myid uint32) // SetTargetID(targetid uint32) //编码,传出编码的数据和数据的长度 GateMarshal() ([]byte, uint32) //解码,传入数据,传出使用后剩下的数据,和使用了多少字节 GateUnmarshal(buff []byte) ([]byte, uint32) }
路由消息接口
type IHttpMessageHandle ¶
type IHttpMessageHandle interface { IMessage //HTTP的回调 HttpDirectCall(w http.ResponseWriter, req *http.Request) }
type ILogicMessage ¶
type ILogicMessage interface { //所在协程的KEY LogicThreadID() int //调用方法 MessageHandle() }
LogicMessage 逻辑委托
type IMessageHandle ¶
type IMessageHandle interface { //带Gateway的编码 GateMarshal(gate IGateMessage, data interface{}) ([]byte, error) //编码 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 { IMessage //ws的回调 WebSocketDirectCall(ws *WebSocketModel) }
type JsonArray ¶ added in v1.2.2
type JsonArray []interface{}
JsonArray JSON数组
func (JsonArray) GetIntArray ¶ added in v1.2.2
type JsonMap ¶ added in v1.2.2
type JsonMap map[string]interface{}
JsonMap 收到的JSON数据
func (JsonMap) GetActionKey ¶ added in v1.2.2
GetActionKey int32 //消息序号
func (JsonMap) GetIntArray ¶ added in v1.2.2
返回[]int
func (JsonMap) GetMemberID ¶ added in v1.2.2
GetMemberID int32 //用户ID
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) GateMarshal ¶ added in v1.2.5
func (msghandle *JsonMessageHandle) GateMarshal(gate IGateMessage, data interface{}) ([]byte, error)
给gate发消息的编码
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 `json:"-"`
}
func (*LogicMessage) LogicThreadID ¶
func (msg *LogicMessage) LogicThreadID() int
type MessageJson ¶ added in v1.3.0
type MessageJson struct {
ActionID uint32 `json:"ACTIONID"`
}
type NsqdMessage ¶
type NsqdMessage struct { Message SendUserID int `json:"SENDUID"` //发信息用户ID SendSID string `json:"SENDSID"` //发信息服务器(回复用的信息) Topic string `json:"TOPIC"` //目标 }
nsqd消息的基础结构
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 ScoketMessage ¶ added in v1.2.2
type ScoketMessage struct { Message SendUserID int `json:"SENDUID"` //发信息用户ID SendSID string `json:"SENDSID"` //发信息服务器(回复用的信息) Topic string `json:"TOPIC"` //目标 }
func (*ScoketMessage) GetSendSID ¶ added in v1.2.2
func (msg *ScoketMessage) GetSendSID() string
func (*ScoketMessage) GetSendUserID ¶ added in v1.2.2
func (msg *ScoketMessage) GetSendUserID() int
func (*ScoketMessage) GetTopic ¶ added in v1.2.2
func (msg *ScoketMessage) GetTopic() string
func (*ScoketMessage) SetSendSID ¶ added in v1.2.2
func (msg *ScoketMessage) SetSendSID(sid string)
type SocketModel ¶
type SocketModel struct { Conn net.Conn //连接信息 CloseFun func(skmd *SocketModel) //关闭连接时的方法 ConInfo interface{} //自定义的连接信息,给上层逻辑使用 KeyID int //用来标记的ID }
SocketModel 用户连接对象
type WebMessage ¶ added in v1.2.2
func (*WebMessage) HttpDirectCall ¶ added in v1.2.2
func (msg *WebMessage) HttpDirectCall(w http.ResponseWriter, req *http.Request)
HTTP的回调
type WebScoketMessage ¶ added in v1.2.2
func (*WebScoketMessage) WebSocketDirectCall ¶ added in v1.2.2
func (msg *WebScoketMessage) WebSocketDirectCall(ws *WebSocketModel)
ws的回调
type WebSocketModel ¶
type WebSocketModel struct { Conn *websocket.Conn CloseFun func(wsmd *WebSocketModel) //关闭连接时的方法 ConInfo interface{} //自定义的连接信息,给上层逻辑使用 KeyID int //用来标记的ID }
WebSocketModel 用户连接对象
func (*WebSocketModel) SendByte ¶ added in v1.2.4
func (ws *WebSocketModel) SendByte(data []byte) error
发的是二进制数据
func (*WebSocketModel) SendStr ¶ added in v1.2.4
func (ws *WebSocketModel) SendStr(data string) error
发的是字符串
Click to show internal directories.
Click to hide internal directories.