codec

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Aug 18, 2018 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 {
	ReadHeader(*Message, MessageType) error
	ReadBody(interface{}) error
	Write(*Message, interface{}) error
	Close() error
	String() string
}

Codec encodes/decodes various types of messages used within go-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 Message

type Message struct {
	Id     uint64
	Type   MessageType
	Target string
	Method string
	Error  string
	Header map[string]string
}

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

type MessageType

type MessageType int
const (
	Error MessageType = iota
	Request
	Response
	Publication
)

type NewCodec

type NewCodec func(io.ReadWriteCloser) Codec

Takes in a connection/buffer and returns a new Codec

Directories

Path Synopsis
bytes module
broker Module
broker/http Module
broker/memory Module
client Module
client/mock Module
client/rpc Module
cmd Module
codec Module
codec/bytes Module
codec/grpc Module
codec/json Module
codec/jsonrpc Module
codec/proto Module
errors Module
metadata Module
registry Module
registry/mdns Module
selector Module
selector/dns Module
server Module
server/debug Module
server/mock Module
server/rpc Module
transport Module
grpc module
json module
proto module
Package proto is a generated protocol buffer package.
Package proto is a generated protocol buffer package.

Jump to

Keyboard shortcuts

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