packet

package
v1.3.22 Latest Latest
Warning

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

Go to latest
Published: Nov 17, 2021 License: BSD-3-Clause Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateMessageByID

func CreateMessageByID(msgId int32) proto.Message

根据消息ID创建消

func CreateMessageByName

func CreateMessageByName(name string) proto.Message

根据名称创建消息

func CreatePairingAck

func CreatePairingAck(req proto.Message) proto.Message

如果消息的名字是XXXReq,则尝试创建与其名称对应的XXXAck消息

func CreatePairingAckBy

func CreatePairingAckBy(reqName string) proto.Message

如果消息的名字是XXXReq,则尝试创建与其名称对应的XXXAck消息

func GetMessageIDByName

func GetMessageIDByName(msgName string) int32

func GetMessageIDOf

func GetMessageIDOf(msg proto.Message) int32

根据message获取消息ID

func GetMessageNameByID added in v1.3.10

func GetMessageNameByID(msgId int32) string

func GetPairingAckID

func GetPairingAckID(reqId int32) int32

根据Req消息的ID,返回其对应的Ack消息ID

func GetPairingAckName

func GetPairingAckName(reqName string) string

根据Req消息的名称,返回其对应的Ack消息名称

func MessageToString added in v1.3.15

func MessageToString(msg proto.Message) string

func RegisterMsgID

func RegisterMsgID(exName string)

Types

type Packet

type Packet struct {
	Cmd     int32              `json:"cmd"`            // 协议ID
	Seq_    uint16             `json:"seq"`            // 序列号
	Type_   fatchoy.PacketType `json:"typ,omitempty"`  // 类型
	Flg     fatchoy.PacketFlag `json:"flg,omitempty"`  // 标志位
	Node_   fatchoy.NodeID     `json:"node,omitempty"` // 源/目标节点
	Body_   interface{}        `json:"body,omitempty"` // 消息内容,int64/float64/string/bytes/proto.Message
	Refers_ []fatchoy.NodeID   `json:"ref,omitempty"`  // 组播session列表
	// contains filtered or unexported fields
}

Packet表示一个应用层消息

func Make

func Make() *Packet

func New

func New(command int32, seq uint16, flag fatchoy.PacketFlag, body interface{}) *Packet

func (*Packet) AddRefers added in v1.3.20

func (m *Packet) AddRefers(v ...fatchoy.NodeID)

func (*Packet) Body

func (m *Packet) Body() interface{}

func (*Packet) BodyToBytes added in v1.2.0

func (m *Packet) BodyToBytes() []byte

将body转为[]byte,用于网络传输

func (*Packet) BodyToFloat added in v1.3.15

func (m *Packet) BodyToFloat() float64

将body转为float4

func (*Packet) BodyToInt added in v1.3.9

func (m *Packet) BodyToInt() int64

将body转为int64

func (*Packet) BodyToString added in v1.2.0

func (m *Packet) BodyToString() string

将body转为string

func (*Packet) Clone

func (m *Packet) Clone() fatchoy.IPacket

func (*Packet) Command

func (m *Packet) Command() int32

func (*Packet) Decode added in v1.3.9

func (m *Packet) Decode() error

自动解析

func (*Packet) DecodeTo

func (m *Packet) DecodeTo(msg proto.Message) error

func (*Packet) Endpoint

func (m *Packet) Endpoint() fatchoy.MessageEndpoint

func (*Packet) Errno

func (m *Packet) Errno() int32

func (*Packet) Flag

func (m *Packet) Flag() fatchoy.PacketFlag

func (*Packet) Node added in v1.3.19

func (m *Packet) Node() fatchoy.NodeID

func (*Packet) Refers added in v1.3.15

func (m *Packet) Refers() []fatchoy.NodeID

func (*Packet) Refuse

func (m *Packet) Refuse(errno int32) error

返回一个错误码消息

func (*Packet) RefuseWith added in v1.2.0

func (m *Packet) RefuseWith(command, errno int32) error

func (*Packet) Reply

func (m *Packet) Reply(command int32, body interface{}) error

body的类型仅支持int64/float64/string/bytes/proto.Message

func (*Packet) ReplyMsg added in v1.3.15

func (m *Packet) ReplyMsg(ack proto.Message) error

响应proto消息内容

func (*Packet) Reset

func (m *Packet) Reset()

func (*Packet) Seq

func (m *Packet) Seq() uint16

func (*Packet) SetBody

func (m *Packet) SetBody(val interface{})

func (*Packet) SetCommand

func (m *Packet) SetCommand(v int32)

func (*Packet) SetEndpoint

func (m *Packet) SetEndpoint(endpoint fatchoy.MessageEndpoint)

func (*Packet) SetErrno

func (m *Packet) SetErrno(ec int32)

如果消息表示一个错误码,设置PacketFlagError标记,并且body为错误码数值

func (*Packet) SetFlag

func (m *Packet) SetFlag(v fatchoy.PacketFlag)

func (*Packet) SetNode added in v1.3.19

func (m *Packet) SetNode(n fatchoy.NodeID)

func (*Packet) SetRefers added in v1.3.15

func (m *Packet) SetRefers(v []fatchoy.NodeID)

func (*Packet) SetSeq

func (m *Packet) SetSeq(v uint16)

func (*Packet) SetType

func (m *Packet) SetType(v fatchoy.PacketType)

func (Packet) String

func (m Packet) String() string

func (*Packet) Type

func (m *Packet) Type() fatchoy.PacketType

Jump to

Keyboard shortcuts

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