代码拉取完成,页面将自动刷新
同步操作将从 coco/go808 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
package protocol
import (
"gitee.com/oco/go808/errors"
)
// 消息体属性
type Property uint16
// 启用分包
func (property *Property) enablePacket() {
val := uint16(*property)
*property = Property(val | (1 << 13))
}
// 启用加密
func (property *Property) enableEncrypt() {
val := uint16(*property)
*property = Property(val | (1 << 10))
}
// 是否分包
func (property Property) IsEnablePacket() bool {
val := uint16(property)
return val&(1<<13) > 0
}
// 是否加密
func (property Property) IsEnableEncrypt() bool {
val := uint16(property)
return val&(1<<10) > 0
}
// 获取消息体长度
func (property *Property) GetBodySize() uint16 {
// 前十位表示消息体长度
// 0x3ff == 001111111111
val := uint16(*property)
return ((val << 6) >> 6) & 0x3ff
}
// 设置消息体长度
func (property *Property) SetBodySize(size uint16) error {
if size > 0x3ff {
return errors.ErrBodyTooLong
}
val := uint16(*property)
*property = Property(((val >> 10) << 10) | size)
return nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。