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

            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
            }

            Source Files

            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 proto is a generated protocol buffer package.
            Package proto is a generated protocol buffer package.
            Package text reads any text/* content-type
            Package text reads any text/* content-type