Documentation ¶
Overview ¶
Package codec is an interface for encoding messages
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrInvalidMessage returned when invalid messge passed to codec ErrInvalidMessage = errors.New("invalid message") // ErrUnknownContentType returned when content-type is unknown ErrUnknownContentType = errors.New("unknown content-type") )
var ( // DefaultMaxMsgSize specifies how much data codec can handle DefaultMaxMsgSize int = 1024 * 1024 * 4 // 4Mb DefaultCodec Codec = NewCodec() )
Functions ¶
This section is empty.
Types ¶
type Codec ¶
type Codec interface { ReadHeader(io.Reader, *Message, MessageType) error ReadBody(io.Reader, interface{}) error Write(io.Writer, *Message, interface{}) error Marshal(interface{}) ([]byte, error) Unmarshal([]byte, interface{}) error String() string }
Codec encodes/decodes various types of messages used within 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 Frame ¶ added in v3.1.0
type Frame struct {
Data []byte
}
Frame gives us the ability to define raw data to send over the pipes
type Message ¶
type Message struct { Id string Type MessageType Target string Method string Endpoint string Error string // The values read from the socket Header metadata.Metadata Body []byte }
Message represents detailed information about the communication, likely followed by the body. In the case of an error, body may be nil.
func NewMessage ¶ added in v3.1.0
func NewMessage(t MessageType) *Message
NewMessage creates new codec message
type MessageType ¶
type MessageType int
MessageType
const ( // Message types Error MessageType = iota Request Response Event )
type Option ¶ added in v3.1.0
type Option func(*Options)
Option func
func MaxMsgSize ¶ added in v3.1.0
MaxMsgSize sets the max message size