Documentation ¶
Overview ¶
Package libext provides client and controller for creating extension controllers with arhat-proto
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) ProcessNewStream ¶
func (c *Client) ProcessNewStream( cmdCh chan<- *arhatgopb.Cmd, msgCh <-chan *arhatgopb.Msg, ) error
ProcessNewStream creates a new connection and handles message stream until connection lost or msgCh closed the provided `cmdCh` and `msgCh` are expected to be freshly created usually this function is used in conjunction with Controller.RefreshChannels
type Controller ¶
type Controller struct {
// contains filtered or unexported fields
}
func NewController ¶
func NewController( ctx context.Context, logger log.Interface, marshal codec.MarshalFunc, h types.Handler, ) (*Controller, error)
NewController creates a hub for message send/receive
func (*Controller) Close ¶
func (c *Controller) Close()
Close controller, will not handle incoming commands anymore
func (*Controller) RefreshChannels ¶
func (c *Controller) RefreshChannels() (cmdCh chan<- *arhatgopb.Cmd, msgCh <-chan *arhatgopb.Msg)
RefreshChannels creates a new cmd and msg channel pair for new connection usually this function is called in conjunction with Client.ProcessNewStream
func (*Controller) Start ¶
func (c *Controller) Start() error
Directories ¶
Path | Synopsis |
---|---|
Package codec is the registration center for supported codecs you can register whatever codec implementation you want e.g.
|
Package codec is the registration center for supported codecs you can register whatever codec implementation you want e.g. |
gogoprotobuf
Package codecpb implements protobuf codec for libext
|
Package codecpb implements protobuf codec for libext |
stdjson
Package codecjson uses stdlib json for libext
|
Package codecjson uses stdlib json for libext |
Package extperipheral provides helper functions for creating peripheral extensions
|
Package extperipheral provides helper functions for creating peripheral extensions |
Package extruntime provides easy to ues wrap for runtime extension development
|
Package extruntime provides easy to ues wrap for runtime extension development |
Package server implements extension hub, which manages all incoming connections from extension controllers
|
Package server implements extension hub, which manages all incoming connections from extension controllers |
Click to show internal directories.
Click to hide internal directories.