Documentation ¶
Overview ¶
Copyright 2020 The arhat.dev Authors.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2020 The arhat.dev Authors.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2020 The arhat.dev Authors.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
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 types.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. |
Package extperipheral provides helper functions for creating peripheral extensions Copyright 2020 The arhat.dev Authors.
|
Package extperipheral provides helper functions for creating peripheral extensions Copyright 2020 The arhat.dev Authors. |