Documentation ¶
Overview ¶
Package message 定義了 如何從 io.Reader 中 解析消息
Index ¶
- Constants
- func Body(msg []byte) []byte
- func Command(msg []byte) uint16
- func Format(msg []byte, cmd uint16) bool
- func IsOutOfMaxData(e error) bool
- func Len(bodyLen int) int
- func Marshal(cmd uint16, data []byte) (msg []byte, e error)
- func MarshalError(cmd uint16, data error) (msg []byte, e error)
- func MarshalString(cmd uint16, data string) (msg []byte, e error)
- func Ok(msg []byte) bool
- func SetCommand(msg []byte, cmd uint16)
- type Analyst
- type AnalyzeFunc
- type BasicParser
- type BufferParser
- type Error
- type Parser
Constants ¶
View Source
const ( // 數據 超過了允許的 最大 長度 ErrOutOfMaxData = iota + 1 )
定義了 各種 錯誤 代碼
Variables ¶
This section is empty.
Functions ¶
func IsOutOfMaxData ¶
IsOutOfMaxData 如果 e 是 ErrOutOfMaxData 返回 true
func Marshal ¶
Marshal 創建 默認的 消息
由 Header{} + Body {} 組成的消息
Header 由 binary.LittleEndian 16 字節 body長度 + 16 字節 指令碼 組成
失敗 返回 ErrOutOfMaxData
func MarshalError ¶
MarshalError Marshal 的 語法糖
func MarshalString ¶
MarshalString Marshal 的 語法糖
Types ¶
type Analyst ¶
type Analyst interface { // Header 返回 消息 包頭 長度 Header() int // Body 傳入 包頭 返回 body 長度 Body(header []byte) (int, error) }
Analyst 是一個 消息 分析者
func NewDefaultAnalyst ¶
func NewDefaultAnalyst() Analyst
NewDefaultAnalyst 返回 默認的 消息 分析者
由 Header{} + Body {} 組成的消息
Header 由 binary.LittleEndian 16 字節 body長度 + 16 字節 指令碼 組成
type BasicParser ¶
type BasicParser struct {
Analyst Analyst
}
BasicParser 一個 基礎的 消息 解析器
func (BasicParser) ReadMessage ¶
func (p BasicParser) ReadMessage(r io.Reader) (msg []byte, e error)
ReadMessage 從 io.Reader 中 讀出一個 消息
type BufferParser ¶
BufferParser 一個 帶讀取 緩衝區的 消息 解析器
func (*BufferParser) ReadMessage ¶
func (p *BufferParser) ReadMessage(r io.Reader) (msg []byte, e error)
ReadMessage 從 io.Reader 中 讀出一個 消息
Click to show internal directories.
Click to hide internal directories.