codec

package
v0.0.0-...-23bf2d9 Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2024 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 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 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
	Type     MessageType
	Target   string
	Method   string
	Endpoint string
	Error    string

	// 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 MessageType

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

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, MessageType) error
	ReadBody(interface{}) error
}

type Writer

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

Directories

Path Synopsis
Package bytes provides a bytes codec which does not encode or decode anything
Package bytes provides a bytes codec which does not encode or decode anything
Package grpc provides a grpc codec
Package grpc provides a grpc codec
Package json provides a json codec
Package json provides a json codec
Package jsonrpc provides a json-rpc 1.0 codec
Package jsonrpc provides a json-rpc 1.0 codec
Package proto provides a proto codec
Package proto provides a proto codec
Package protorpc provides a net/rpc proto-rpc codec.
Package protorpc provides a net/rpc proto-rpc codec.
Package text reads any text/* content-type
Package text reads any text/* content-type

Jump to

Keyboard shortcuts

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