codec

package
v0.0.0-...-625ea8d Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2020 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package codec is an interface for encoding messages

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Codec

type Codec interface {
	Reader
	Writer
	Close() error
	String() string
}

Codec encodes/decodes various types of messages used within v-micro. ReadHeader and ReadBody are called in pairs to read requests/responses from the connection. Close is called when finished with the connection. ReadBody may be called with a nil argument to force the body to be read and discarded.

type Marshaler

type Marshaler interface {
	Marshal(interface{}) ([]byte, error)
	Unmarshal([]byte, interface{}) error
	String() string
}

Marshaler is a simple encoding interface used for the broker/transport where headers are not supported by the underlying implementation.

type Message

type Message struct {
	ID     string
	Method string // 方法名, class:method

	// The values read from the socket
	Header map[string]string
	Body   []byte
}

Message represents detailed information about the communication, likely followed by the body. In the case of an error, body may be nil.

type NewCodec

type NewCodec func(io.ReadWriteCloser) Codec

NewCodec Takes in a connection/buffer and returns a new Codec

type Reader

type Reader interface {
	ReadHeader(*Message) error
	ReadBody(interface{}) error
}

Reader reader

type Writer

type Writer interface {
	Write(*Message, interface{}) error
}

Writer writer

Directories

Path Synopsis
Package proto provides a proto codec
Package proto provides a proto codec

Jump to

Keyboard shortcuts

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