types

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2020 License: Apache-2.0 Imports: 3 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Codec

type Codec interface {
	// Type is the codec kind
	Type() arhatgopb.CodecType

	// NewEncoder creates a new Encoder which will encode messages to the Writer
	NewEncoder(w io.Writer) Encoder

	// NewEncoder creates a new Decoder which will decode messages from the Reader
	NewDecoder(r io.Reader) Decoder

	// Unmarshal non stream data
	Unmarshal(data []byte, out interface{}) error

	// Marshal v as non stream data
	Marshal(v interface{}) ([]byte, error)
}

Codec knows how to encode/decode all kinds of data, including stream data

type Decoder

type Decoder interface {
	// Decode one message from stream
	Decode(out interface{}) error
}

Decoder for stream data decoding

type Encoder

type Encoder interface {
	// Encode one message to stream
	Encode(any interface{}) error
}

Encoder for stream data encoding

type Handler

type Handler interface {
	// SetMsgSendFunc is called by controller when new connection established, handler
	// should use the latest message send func for SendMsg function call
	SetMsgSendFunc(sendMsg MsgSendFunc)

	// SendMsg send out of band message to the extension hub
	SendMsg(msg *arhatgopb.Msg) error

	// HandleCmd process one command per function call, payload is non stream data
	HandleCmd(ctx context.Context, id, seq uint64, kind arhatgopb.CmdType, payload []byte) (interface{}, error)
}

Handler for controller

type MarshalFunc added in v0.3.0

type MarshalFunc func(v interface{}) ([]byte, error)

type MsgSendFunc added in v0.4.0

type MsgSendFunc func(msg *arhatgopb.Msg) error

type ResizeHandleFunc added in v0.4.0

type ResizeHandleFunc func(cols, rows uint32)

type UnmarshalFunc added in v0.3.0

type UnmarshalFunc func(data []byte, out interface{}) error

Jump to

Keyboard shortcuts

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