Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var TypeExtendedAPI = reflect.TypeOf((*IExtendedAPI)(nil)).Elem()
TypeExtendedAPI is a syntax sugar around IExtendedAPI type.
Functions ¶
This section is empty.
Types ¶
type ExtendedAPIMessage ¶
type ExtendedAPIMessage struct {
SendTime int64 `json:"st"`
}
ExtendedAPIMessage is a base type for master <-> worker communications.
func (*ExtendedAPIMessage) SetSendTime ¶
func (e *ExtendedAPIMessage) SetSendTime(t int64)
SetSendTime sets base message SendTime.
type IExtendedAPI ¶
type IExtendedAPI interface { Init(*InitDataAPI) error Routes() []string Unload() }
IExtendedAPI defines extended API plugin interface.
type IExtendedAPICommunicator ¶
type IExtendedAPICommunicator interface { Subscribe(queue chan []byte) error Publish(messages ...IExtendedAPIMessage) InvokeDeviceCommand(deviceRegexp glob.Glob, cmd enums.Command, data map[string]interface{}) }
IExtendedAPICommunicator defines
type IExtendedAPIMessage ¶
type IExtendedAPIMessage interface {
SetSendTime(int64)
}
IExtendedAPIMessage defines internal message between plugins running on master and worker.
type InitDataAPI ¶
type InitDataAPI struct { InternalRootRouter *mux.Router ExternalAPIRouter *mux.Router Logger common.ILoggerProvider Secret common.ISecretProvider FanOut common.IFanOutProvider IsMaster bool Communicator IExtendedAPICommunicator }
InitDataAPI has data required for initializing a new API.
Click to show internal directories.
Click to hide internal directories.