本文整理汇总了Golang中github.com/funny/binary.Reader.ReadUvarint方法的典型用法代码示例。如果您正苦于以下问题:Golang Reader.ReadUvarint方法的具体用法?Golang Reader.ReadUvarint怎么用?Golang Reader.ReadUvarint使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/funny/binary.Reader
的用法示例。
在下文中一共展示了Reader.ReadUvarint方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Unmarshal
func (msg *gatewayMsg) Unmarshal(r *binary.Reader) error {
msg.Command = r.ReadUint8()
// DEBUG("收到:" + strconv.Itoa(int(msg.Command)))
switch msg.Command {
case CMD_NEW_1:
msg.ClientId = r.ReadUint64BE()
msg.Data = r.ReadPacket(binary.SplitByUint8)
case CMD_NEW_2:
msg.ClientId = r.ReadUint64BE()
msg.ClientIds = []uint64{r.ReadUint64BE()}
case CMD_NEW_3:
msg.ClientId = r.ReadUint64BE()
case CMD_DEL:
msg.ClientId = r.ReadUint64BE()
case CMD_MSG:
msg.ClientId = r.ReadUint64BE()
msg.Data = r.ReadPacket(binary.SplitByUvarint)
case CMD_BRD:
num := int(r.ReadUvarint())
msg.ClientIds = make([]uint64, num)
for i := 0; i < num; i++ {
msg.ClientIds[i] = r.ReadUvarint()
}
msg.Data = r.ReadPacket(binary.SplitByUvarint)
}
return nil
}
示例2: BinaryDecode
func (msg *gatewayMsg) BinaryDecode(r *binary.Reader) error {
msg.Command = r.ReadUint8()
switch msg.Command {
case CMD_NEW_1:
msg.ClientId = r.ReadUint64BE()
msg.Data = r.ReadPacket(binary.SplitByUint8)
case CMD_NEW_2:
msg.ClientId = r.ReadUint64BE()
msg.ClientIds = []uint64{r.ReadUint64BE()}
case CMD_DEL:
msg.ClientId = r.ReadUint64BE()
case CMD_MSG:
msg.ClientId = r.ReadUint64BE()
msg.Data = r.ReadPacket(binary.SplitByUvarint)
case CMD_BRD:
num := int(r.ReadUvarint())
msg.ClientIds = make([]uint64, num)
for i := 0; i < num; i++ {
msg.ClientIds[i] = r.ReadUvarint()
}
msg.Data = r.ReadPacket(binary.SplitByUvarint)
}
return nil
}