Documentation

Overview

    The jsoncodec package provides a JSON codec for the rpc package.

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func DumpRequest

    func DumpRequest(hdr *rpc.Header, body interface{}) []byte

      DumpRequest returns JSON-formatted data representing the RPC message with the given header and body, as it would be written by Codec.WriteMessage. If the body cannot be marshalled as JSON, the data will hold a JSON string describing the error.

      Types

      type Codec

      type Codec struct {
      	// contains filtered or unexported fields
      }

        Codec implements rpc.Codec for a connection.

        func New

        func New(conn JSONConn) *Codec

          New returns an rpc codec that uses conn to send and receive messages.

          func NewNet

          func NewNet(conn io.ReadWriteCloser) *Codec

            NewNet returns an rpc codec that uses the given connection to send and receive messages.

            func NewWebsocket

            func NewWebsocket(conn *websocket.Conn) *Codec

              NewWebsocket returns an rpc codec that uses the given websocket connection to send and receive messages.

              func (*Codec) Close

              func (c *Codec) Close() error

              func (*Codec) ReadBody

              func (c *Codec) ReadBody(body interface{}, isRequest bool) error

              func (*Codec) ReadHeader

              func (c *Codec) ReadHeader(hdr *rpc.Header) error

              func (*Codec) WriteMessage

              func (c *Codec) WriteMessage(hdr *rpc.Header, body interface{}) error

              type JSONConn

              type JSONConn interface {
              	// Send sends a message.
              	Send(msg interface{}) error
              	// Receive receives a message into msg.
              	Receive(msg interface{}) error
              	Close() error
              }

                JSONConn sends and receives messages to an underlying connection in JSON format.

                func NetJSONConn

                func NetJSONConn(conn io.ReadWriteCloser) JSONConn

                func NewWebsocketConn

                func NewWebsocketConn(conn *websocket.Conn) JSONConn

                  NewWebsocketConn returns a JSONConn implementation that uses the given connection for transport.

                  Source Files