serialize

package
v0.0.0-...-07235e0 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2017 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Compose

func Compose(cmd *protocol.Command) ([]byte, error)

Compose 将信令编码

func Parse

func Parse(data []byte) (cmd *protocol.Command, err error)

Parse 通过字节解析

func Register

func Register(serializer *Serializer)

Register 注册串行化新建函数

Types

type ParseEngine

type ParseEngine interface {
	Parse(br *bufio.Reader) (cmd *protocol.Command, err error)
	Close() error
}

ParseEngine 解析引擎函数

type Parser

type Parser struct {
	// contains filtered or unexported fields
}

Parser 解析器

func NewParser

func NewParser(r io.Reader) (parser *Parser)

NewParser 新建解析器

func (*Parser) Close

func (parser *Parser) Close() error

Close 关闭

func (*Parser) ReadCommand

func (parser *Parser) ReadCommand() (cmd *protocol.Command, err error)

ReadCommand 将数据写入解析器,如果能够解析出命令,则回调

type Serializer

type Serializer struct {
	// Version 串行化版本
	Version string
	// ProbeByte 协议首字节
	ProbeByte byte
	// NewParseEngine 解析信令
	NewParseEngine func() (engine ParseEngine)
	// Compose 将信令编码
	Compose func(cmd *protocol.Command) ([]byte, error)
}

Serializer 串行化函数,所有实现都必须完成以下函数

Directories

Path Synopsis
Package alljson JSON格式 所有以'{'开头的数据,作为JSON格式处理
Package alljson JSON格式 所有以'{'开头的数据,作为JSON格式处理
Package plaintext 纯文本格式 用多行来分隔Command字段 第一行:信令版本(纯文本格式:第一个字符为:'t',后面是协议版本号) 第二行:信令所属App ID 第三行:信令名 第四行:信令数据 第五行:信令负载
Package plaintext 纯文本格式 用多行来分隔Command字段 第一行:信令版本(纯文本格式:第一个字符为:'t',后面是协议版本号) 第二行:信令所属App ID 第三行:信令名 第四行:信令数据 第五行:信令负载

Jump to

Keyboard shortcuts

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