codec

package
v0.0.0-...-e1e9e3f Latest Latest
Warning

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

Go to latest
Published: Nov 30, 2022 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var NewCodecFuncMap map[Type]NewCodecFunc

保存不同类型编解码器的创建函数

Functions

This section is empty.

Types

type Codec

type Codec interface {
	io.Closer
	ReadHeader(*Header) error         //读取头信息
	ReadBody(interface{}) error       //读取消息体
	Write(*Header, interface{}) error //写入头信息
}

Codec 编解码器接口

func NewGobCodec

func NewGobCodec(conn io.ReadWriteCloser) Codec

NewGobCodec 创建Gob编解码器

type GobCodec

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

Gob编解码器

func (*GobCodec) Close

func (c *GobCodec) Close() error

Close 实现io.Closer接口

func (*GobCodec) ReadBody

func (c *GobCodec) ReadBody(body interface{}) error

ReadBody 读取请求体,body需要是指针

func (*GobCodec) ReadHeader

func (c *GobCodec) ReadHeader(h *Header) error

ReadHeader 读取请求头,h需要是指针

func (*GobCodec) Write

func (c *GobCodec) Write(h *Header, body interface{}) (err error)
type Header struct {
	ServiceMethod string //服务名和方法名,格式Service.Method 对应结构体和结构体方法
	Seq           uint64 //请求序号,请求ID
	Error         string // 服务端有错误,放在这里返回
}

Header 请求头信息

type NewCodecFunc

type NewCodecFunc func(io.ReadWriteCloser) Codec

创建解码器函数类型

type Type

type Type string

编解码器类型

const (
	GobType  Type = "application/gob"
	JsonType Type = "application/json"
	Protobuf Type = "application/protobuf"
)

定义编解码器标识

Jump to

Keyboard shortcuts

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