Versions in this module Expand all Collapse all v0 v0.2.0 May 17, 2021 Changes in this version + func CreateDiscovers(url string) (map[string]reflect.Value, error) + func CreateMutation(si types.ServiceInstance, m *Mutation) (types.StateMutation, error) + func LookupEnum(url string) (enumName string, enumType reflect.Type, valueMap map[string]int32, err error) + func LookupEnumValue(url string, value string) (interface{}, error) + func MustLookupEnum(url string) (enumName string, enumType reflect.Type, valueMap map[string]int32) + func MustLookupEnumValue(url string, value string) interface + func MustValueFromString(url, value string) reflect.Value + func ValueFromString(url, value string) (v reflect.Value, err error) + type Mutation struct + Context string + Excludes map[string]string + FailTo [2]string + Handler func(mut string, cfg, dsc types.Node) + Mutates map[string][2]string + Requires map[string]string + Timeout string v0.2.0-rc2 Apr 20, 2021 v0.2.0-rc1 Apr 20, 2021 v0.1.1 Apr 15, 2021 v0.1.0 Mar 24, 2021 Changes in this version + const AddrURL + const CRITICAL + const DDDEBUG + const DDEBUG + const DEBUG + const ERROR + const FATAL + const INFO + const MutationEvent_INTERRUPT + const MutationEvent_MUTATE + const NOTICE + const PANIC + const StateChange_CFG_READ + const StateChange_CFG_UPDATE + const StateChange_CREATE + const StateChange_DELETE + const StateChange_READ + const StateChange_UPDATE + const WARNING + var MutationEventString = map[pb.MutationControl_Type]string + var Registry = NewKrakenRegistry() + var StateChangeTypeString = map[pb.StateChangeControl_Type]string + func BuildInfo() (r string) + func ChanSender(ev types.Event, c chan<- types.Event) error + func DefaultRootSpec() types.StateSpec + func FilterRegexp(ev types.Event, re *regexp.Regexp) (r bool) + func FilterRegexpStr(ev types.Event, re string) (r bool) + func FilterSimple(ev types.Event, match []string) (r bool) + func ModuleExecute(id, module, sock string) + func NewEvent(t types.EventType, url string, data interface{}) types.Event + func NewStateChangeEvent(t pb.StateChangeControl_Type, u string, v reflect.Value) types.Event + func ServiceLoggerListener(l types.Logger, c <-chan LoggerEvent) + type Context struct + Logger ServiceLogger + Parents []string + Query QueryEngine + RPC ContextRPC + SDE ContextSDE + SME ContextSME + SSE ContextSSE + Self types.NodeID + Sm types.ServiceManager + SubChan chan<- types.EventListener + type ContextRPC struct + Addr string + NetListner net.Listener + Network string + Path string + Port int + UNIXListener net.Listener + type ContextSDE struct + InitialCfg []types.Node + InitialDsc []types.Node + type ContextSME struct + RootSpec types.StateSpec + type ContextSSE struct + Addr string + AddrURL string + DeadTime time.Duration + HelloTime time.Duration + Network string + Port int + type DiscoveryEvent struct + ID string + URL string + ValueID string + func (de *DiscoveryEvent) String() string + type Event struct + func (v *Event) Data() interface{} + func (v *Event) Type() types.EventType + func (v *Event) URL() string + type EventDispatchEngine struct + func NewEventDispatchEngine(ctx Context) (v *EventDispatchEngine) + func (v *EventDispatchEngine) AddListener(el types.EventListener) (e error) + func (v *EventDispatchEngine) EventChan() chan<- []types.Event + func (v *EventDispatchEngine) GetLoggerLevel() types.LoggerLevel + func (v *EventDispatchEngine) GetModule() string + func (v *EventDispatchEngine) IsEnabledFor(level types.LoggerLevel) bool + func (v *EventDispatchEngine) Log(level types.LoggerLevel, m string) + func (v *EventDispatchEngine) Logf(level types.LoggerLevel, fmt string, va ...interface{}) + func (v *EventDispatchEngine) Run(ready chan<- interface{}) + func (v *EventDispatchEngine) SetLoggerLevel(level types.LoggerLevel) + func (v *EventDispatchEngine) SetModule(name string) + func (v *EventDispatchEngine) SubscriptionChan() chan<- types.EventListener + type EventEmitter struct + func NewEventEmitter(t types.EventType) *EventEmitter + func (m *EventEmitter) Emit(v []types.Event) + func (m *EventEmitter) EmitOne(v types.Event) + func (m *EventEmitter) EventType() types.EventType + func (m *EventEmitter) Subscribe(id string, c chan<- []types.Event) (e error) + func (m *EventEmitter) Unsubscribe(id string) (e error) + type EventListener struct + func NewEventListener(name string, t types.EventType, filter func(types.Event) bool, ...) *EventListener + func (v *EventListener) Filter(ev types.Event) (r bool) + func (v *EventListener) Name() string + func (v *EventListener) Send(ev types.Event) (e error) + func (v *EventListener) SetState(s types.EventListenerState) + func (v *EventListener) State() types.EventListenerState + func (v *EventListener) Type() types.EventType + type Kraken struct + Api *ModuleAPIServer + Ctx Context + Ede *EventDispatchEngine + Sde *StateDifferenceEngine + Sm *ServiceManager + Sme *StateMutationEngine + Sse *StateSyncEngine + func NewKraken(self types.Node, parents []string, logger types.Logger) *Kraken + func (*Kraken) Cmd() *exec.Cmd + func (*Kraken) Config() *any.Any + func (*Kraken) Exe() string + func (*Kraken) GetState() types.ServiceState + func (*Kraken) Message() *pb.ServiceInstance + func (*Kraken) SetCmd(*exec.Cmd) + func (*Kraken) SetCtl(chan<- types.ServiceControl) + func (*Kraken) SetState(types.ServiceState) + func (*Kraken) State() types.ServiceState + func (*Kraken) Stop() + func (*Kraken) UpdateConfig(*any.Any) + func (k *Kraken) Bootstrap() + func (k *Kraken) Emit(v []types.Event) + func (k *Kraken) EmitOne(v types.Event) + func (k *Kraken) EventType() types.EventType + func (k *Kraken) GetLoggerLevel() types.LoggerLevel + func (k *Kraken) GetModule() string + func (k *Kraken) IsEnabledFor(level types.LoggerLevel) bool + func (k *Kraken) Log(level types.LoggerLevel, m string) + func (k *Kraken) Logf(level types.LoggerLevel, fmt string, v ...interface{}) + func (k *Kraken) Name() string + func (k *Kraken) Release() + func (k *Kraken) Run() + func (k *Kraken) SetLoggerLevel(level types.LoggerLevel) + func (k *Kraken) SetModule(name string) + func (k *Kraken) Subscribe(id string, c chan<- []types.Event) error + func (k *Kraken) Unsubscribe(id string) error + func (sse *Kraken) ID() string + func (sse *Kraken) Module() string + type KrakenRegistry struct + Discoverables map[string]map[string]map[string]reflect.Value + Extensions map[string]types.Extension + Modules map[string]types.Module + Mutations map[string]map[string]types.StateMutation + ServiceInstances map[string]map[string]types.ServiceInstance + func NewKrakenRegistry() *KrakenRegistry + func (r *KrakenRegistry) RegisterDiscoverable(si types.ServiceInstance, d map[string]map[string]reflect.Value) + func (r *KrakenRegistry) RegisterExtension(e types.Extension) + func (r *KrakenRegistry) RegisterModule(m types.Module) + func (r *KrakenRegistry) RegisterMutations(si types.ServiceInstance, d map[string]types.StateMutation) + func (r *KrakenRegistry) RegisterServiceInstance(m types.Module, d map[string]types.ServiceInstance) + func (r *KrakenRegistry) Resolve(url string) (proto.Message, error) + type LoggerEvent struct + Level types.LoggerLevel + Message string + Module string + type ModuleAPIClient struct + func NewModuleAPIClient(sock string) *ModuleAPIClient + func (a *ModuleAPIClient) DiscoveryInit(id string) (c chan<- types.Event, e error) + func (a *ModuleAPIClient) EventInit(id string, module string) (c <-chan types.Event, e error) + func (a *ModuleAPIClient) GetLoggerLevel() types.LoggerLevel + func (a *ModuleAPIClient) GetModule() string + func (a *ModuleAPIClient) IsEnabledFor(level types.LoggerLevel) bool + func (a *ModuleAPIClient) Log(level types.LoggerLevel, m string) + func (a *ModuleAPIClient) Logf(level types.LoggerLevel, fmt string, v ...interface{}) + func (a *ModuleAPIClient) LoggerInit(si string) (e error) + func (a *ModuleAPIClient) MutationInit(id string, module string) (c <-chan types.Event, e error) + func (a *ModuleAPIClient) QueryCreate(n types.Node) (r types.Node, e error) + func (a *ModuleAPIClient) QueryDelete(id string) (r types.Node, e error) + func (a *ModuleAPIClient) QueryDeleteAll() (r []types.Node, e error) + func (a *ModuleAPIClient) QueryFreeze() (e error) + func (a *ModuleAPIClient) QueryFrozen() (r bool, e error) + func (a *ModuleAPIClient) QueryGetValue(id string, url string) (value interface{}, err error) + func (a *ModuleAPIClient) QueryGetValueDsc(id string, url string) (value interface{}, err error) + func (a *ModuleAPIClient) QueryGetValues(id string, urls []string) (values map[string]interface{}, err error) + func (a *ModuleAPIClient) QueryGetValuesDsc(id string, urls []string) (values map[string]interface{}, err error) + func (a *ModuleAPIClient) QueryMutationEdges() (r pb.MutationEdgeList, e error) + func (a *ModuleAPIClient) QueryMutationNodes() (r pb.MutationNodeList, e error) + func (a *ModuleAPIClient) QueryNodeMutationEdges(id string) (r pb.MutationEdgeList, e error) + func (a *ModuleAPIClient) QueryNodeMutationNodes(id string) (r pb.MutationNodeList, e error) + func (a *ModuleAPIClient) QueryNodeMutationPath(id string) (r pb.MutationPath, e error) + func (a *ModuleAPIClient) QueryRead(id string) (r types.Node, e error) + func (a *ModuleAPIClient) QueryReadAll() (r []types.Node, e error) + func (a *ModuleAPIClient) QueryReadAllDsc() (r []types.Node, e error) + func (a *ModuleAPIClient) QueryReadDsc(id string) (r types.Node, e error) + func (a *ModuleAPIClient) QuerySetValue(id string, url string, value interface{}) (err error) + func (a *ModuleAPIClient) QuerySetValueDsc(id string, url string, value interface{}) (err error) + func (a *ModuleAPIClient) QuerySetValues(id string, values map[string]interface{}) (ret map[string]interface{}, err error) + func (a *ModuleAPIClient) QuerySetValuesDsc(id string, values map[string]interface{}) (ret map[string]interface{}, err error) + func (a *ModuleAPIClient) QueryThaw() (e error) + func (a *ModuleAPIClient) QueryUpdate(n types.Node) (r types.Node, e error) + func (a *ModuleAPIClient) QueryUpdateDsc(n types.Node) (r types.Node, e error) + func (a *ModuleAPIClient) Self() types.NodeID + func (a *ModuleAPIClient) ServiceInit(id string, module string) (c <-chan types.ServiceControl, e error) + func (a *ModuleAPIClient) SetLoggerLevel(level types.LoggerLevel) + func (a *ModuleAPIClient) SetModule(name string) + func (a *ModuleAPIClient) SetSelf(s types.NodeID) + type ModuleAPIServer struct + func NewModuleAPIServer(ctx Context) *ModuleAPIServer + func (s *ModuleAPIServer) DiscoveryInit(stream pb.ModuleAPI_DiscoveryInitServer) (e error) + func (s *ModuleAPIServer) Emit(v []types.Event) + func (s *ModuleAPIServer) EmitOne(v types.Event) + func (s *ModuleAPIServer) EventInit(sir *pb.ServiceInitRequest, stream pb.ModuleAPI_EventInitServer) (e error) + func (s *ModuleAPIServer) EventType() types.EventType + func (s *ModuleAPIServer) GetLoggerLevel() types.LoggerLevel + func (s *ModuleAPIServer) GetModule() string + func (s *ModuleAPIServer) IsEnabledFor(level types.LoggerLevel) bool + func (s *ModuleAPIServer) Log(level types.LoggerLevel, m string) + func (s *ModuleAPIServer) Logf(level types.LoggerLevel, fmt string, v ...interface{}) + func (s *ModuleAPIServer) LoggerInit(stream pb.ModuleAPI_LoggerInitServer) (e error) + func (s *ModuleAPIServer) MutationInit(sir *pb.ServiceInitRequest, stream pb.ModuleAPI_MutationInitServer) (e error) + func (s *ModuleAPIServer) QueryCreate(ctx context.Context, in *pb.Query) (out *pb.Query, e error) + func (s *ModuleAPIServer) QueryDelete(ctx context.Context, in *pb.Query) (out *pb.Query, e error) + func (s *ModuleAPIServer) QueryDeleteAll(ctx context.Context, in *ptypes.Empty) (out *pb.QueryMulti, e error) + func (s *ModuleAPIServer) QueryFreeze(ctx context.Context, in *ptypes.Empty) (out *pb.Query, e error) + func (s *ModuleAPIServer) QueryFrozen(ctx context.Context, in *ptypes.Empty) (out *pb.Query, e error) + func (s *ModuleAPIServer) QueryMutationEdges(ctx context.Context, in *ptypes.Empty) (out *pb.Query, e error) + func (s *ModuleAPIServer) QueryMutationNodes(ctx context.Context, in *ptypes.Empty) (out *pb.Query, e error) + func (s *ModuleAPIServer) QueryNodeMutationEdges(ctx context.Context, in *pb.Query) (out *pb.Query, e error) + func (s *ModuleAPIServer) QueryNodeMutationNodes(ctx context.Context, in *pb.Query) (out *pb.Query, e error) + func (s *ModuleAPIServer) QueryNodeMutationPath(ctx context.Context, in *pb.Query) (out *pb.Query, e error) + func (s *ModuleAPIServer) QueryRead(ctx context.Context, in *pb.Query) (out *pb.Query, e error) + func (s *ModuleAPIServer) QueryReadAll(ctx context.Context, in *ptypes.Empty) (out *pb.QueryMulti, e error) + func (s *ModuleAPIServer) QueryReadAllDsc(ctx context.Context, in *ptypes.Empty) (out *pb.QueryMulti, e error) + func (s *ModuleAPIServer) QueryReadDsc(ctx context.Context, in *pb.Query) (out *pb.Query, e error) + func (s *ModuleAPIServer) QueryThaw(ctx context.Context, in *ptypes.Empty) (out *pb.Query, e error) + func (s *ModuleAPIServer) QueryUpdate(ctx context.Context, in *pb.Query) (out *pb.Query, e error) + func (s *ModuleAPIServer) QueryUpdateDsc(ctx context.Context, in *pb.Query) (out *pb.Query, e error) + func (s *ModuleAPIServer) Run(ready chan<- interface{}) + func (s *ModuleAPIServer) ServiceInit(sir *pb.ServiceInitRequest, stream pb.ModuleAPI_ServiceInitServer) (e error) + func (s *ModuleAPIServer) SetLoggerLevel(level types.LoggerLevel) + func (s *ModuleAPIServer) SetModule(name string) + func (s *ModuleAPIServer) Subscribe(id string, c chan<- []types.Event) error + func (s *ModuleAPIServer) Unsubscribe(id string) error + type MutationEvent struct + Mutation [2]string + NodeCfg types.Node + NodeDsc types.Node + Type pb.MutationControl_Type + func (me *MutationEvent) String() string + type Node struct + func NewNodeFromBinary(b []byte) *Node + func NewNodeFromJSON(j []byte) *Node + func NewNodeFromMessage(m *pb.Node) *Node + func NewNodeWithID(id string) *Node + func (n *Node) AddExtension(m proto.Message) (e error) + func (n *Node) AddService(si *pb.ServiceInstance) (e error) + func (n *Node) Binary() []byte + func (n *Node) DelExtension(url string) + func (n *Node) DelService(id string) + func (n *Node) Diff(node types.Node, prefix string) (r []string, e error) + func (n *Node) GetExtensionURLs() (r []string) + func (n *Node) GetExtensions() (r map[string]proto.Message) + func (n *Node) GetService(id string) (r *pb.ServiceInstance) + func (n *Node) GetServiceIDs() (r []string) + func (n *Node) GetServices() (r []*pb.ServiceInstance) + func (n *Node) GetValue(url string) (v reflect.Value, e error) + func (n *Node) GetValues(urls []string) (v map[string]reflect.Value, e error) + func (n *Node) HasExtension(url string) bool + func (n *Node) HasService(id string) bool + func (n *Node) ID() types.NodeID + func (n *Node) JSON() []byte + func (n *Node) Merge(node types.Node, pre string) (changes []string, e error) + func (n *Node) MergeDiff(node types.Node, diff []string) (changes []string, e error) + func (n *Node) Message() proto.Message + func (n *Node) ParentID() (pid types.NodeID) + func (n *Node) SetValue(url string, value reflect.Value) (v reflect.Value, e error) + func (n *Node) SetValues(valmap map[string]reflect.Value) (v map[string]reflect.Value) + func (n *Node) String() string + type Query struct + func NewQuery(t types.QueryType, s types.QueryState, url string, v []reflect.Value) (*Query, chan types.QueryResponse) + func (q *Query) ResponseChan() chan<- types.QueryResponse + func (q *Query) State() types.QueryState + func (q *Query) Type() types.QueryType + func (q *Query) URL() string + func (q *Query) Value() []reflect.Value + type QueryEngine struct + func NewQueryEngine(sd chan<- types.Query, sm chan<- types.Query) *QueryEngine + func (q *QueryEngine) Create(n types.Node) (nc types.Node, e error) + func (q *QueryEngine) Delete(nid types.NodeID) (nc types.Node, e error) + func (q *QueryEngine) DeleteAll() (nc []types.Node, e error) + func (q *QueryEngine) Freeze() (e error) + func (q *QueryEngine) Frozen() (b bool, e error) + func (q *QueryEngine) GetValue(url string) (v reflect.Value, e error) + func (q *QueryEngine) GetValueDsc(url string) (v reflect.Value, e error) + func (q *QueryEngine) Read(n types.NodeID) (nc types.Node, e error) + func (q *QueryEngine) ReadAll() (nc []types.Node, e error) + func (q *QueryEngine) ReadAllDsc() (nc []types.Node, e error) + func (q *QueryEngine) ReadDsc(n types.NodeID) (nc types.Node, e error) + func (q *QueryEngine) ReadMutationEdges(url string) (mc pb.MutationEdgeList, e error) + func (q *QueryEngine) ReadMutationNodes(url string) (mc pb.MutationNodeList, e error) + func (q *QueryEngine) ReadNodeMutationEdges(url string) (mc pb.MutationEdgeList, e error) + func (q *QueryEngine) ReadNodeMutationNodes(url string) (mc pb.MutationNodeList, e error) + func (q *QueryEngine) ReadNodeMutationPath(url string) (mc pb.MutationPath, e error) + func (q *QueryEngine) SetValue(url string, v reflect.Value) (rv reflect.Value, e error) + func (q *QueryEngine) SetValueDsc(url string, v reflect.Value) (rv reflect.Value, e error) + func (q *QueryEngine) Thaw() (e error) + func (q *QueryEngine) Update(n types.Node) (nc types.Node, e error) + func (q *QueryEngine) UpdateDsc(n types.Node) (nc types.Node, e error) + type QueryResponse struct + func NewQueryResponse(v []reflect.Value, e error) *QueryResponse + func (q *QueryResponse) Error() error + func (q *QueryResponse) Value() []reflect.Value + type ServiceInstance struct + func NewServiceInstance(id, module string, entry func()) *ServiceInstance + func (si *ServiceInstance) GetState() types.ServiceState + func (si *ServiceInstance) ID() string + func (si *ServiceInstance) Module() string + func (si *ServiceInstance) SetCtl(ctl chan<- types.ServiceControl) + func (si *ServiceInstance) SetSock(sock string) + func (si *ServiceInstance) Start() + func (si *ServiceInstance) Stop() + func (si *ServiceInstance) UpdateConfig() + func (si *ServiceInstance) Watch(wchan chan<- types.ServiceInstanceUpdate) + type ServiceLogger struct + func (l *ServiceLogger) GetLoggerLevel() types.LoggerLevel + func (l *ServiceLogger) GetModule() string + func (l *ServiceLogger) IsEnabledFor(lv types.LoggerLevel) (r bool) + func (l *ServiceLogger) Log(lv types.LoggerLevel, m string) + func (l *ServiceLogger) Logf(lv types.LoggerLevel, f string, v ...interface{}) + func (l *ServiceLogger) RegisterChannel(c chan<- LoggerEvent) + func (l *ServiceLogger) SetLoggerLevel(lv types.LoggerLevel) + func (l *ServiceLogger) SetModule(m string) + type ServiceManager struct + func NewServiceManager(ctx Context, sock string) *ServiceManager + func (sm *ServiceManager) AddService(si types.ServiceInstance) + func (sm *ServiceManager) DelService(si string) + func (sm *ServiceManager) GetService(si string) types.ServiceInstance + func (sm *ServiceManager) Run(ready chan<- interface{}) + type State struct + func NewState() *State + func (s *State) BulkCreate(ns []types.Node) (r []types.Node, e error) + func (s *State) BulkDelete(ns []types.Node) (r []types.Node, e error) + func (s *State) BulkDeleteByID(nids []types.NodeID) (r []types.Node, e error) + func (s *State) BulkRead(nids []types.NodeID) (r []types.Node, e error) + func (s *State) BulkUpdate(ns []types.Node) (r []types.Node, e error) + func (s *State) Create(n types.Node) (r types.Node, e error) + func (s *State) Delete(n types.Node) (r types.Node, e error) + func (s *State) DeleteAll() (r []types.Node, e error) + func (s *State) DeleteByID(nid types.NodeID) (r types.Node, e error) + func (s *State) GetValue(url string) (r reflect.Value, e error) + func (s *State) Read(nid types.NodeID) (r types.Node, e error) + func (s *State) ReadAll() (r []types.Node, e error) + func (s *State) SetValue(url string, v reflect.Value) (r reflect.Value, e error) + func (s *State) Update(n types.Node) (r types.Node, e error) + type StateChangeEvent struct + Type pb.StateChangeControl_Type + URL string + Value reflect.Value + func (sce *StateChangeEvent) String() string + type StateDifferenceEngine struct + func NewStateDifferenceEngine(ctx Context, qc chan types.Query) *StateDifferenceEngine + func (n *StateDifferenceEngine) BulkCreate(ms []types.Node) (r []types.Node, e error) + func (n *StateDifferenceEngine) BulkDelete(ms []types.Node) (r []types.Node, e error) + func (n *StateDifferenceEngine) BulkDeleteByID(nids []types.NodeID) (r []types.Node, e error) + func (n *StateDifferenceEngine) BulkRead(nids []types.NodeID) (r []types.Node, e error) + func (n *StateDifferenceEngine) BulkReadDsc(nids []types.NodeID) (r []types.Node, e error) + func (n *StateDifferenceEngine) BulkUpdate(ms []types.Node) (r []types.Node, e error) + func (n *StateDifferenceEngine) BulkUpdateDsc(ms []types.Node) (r []types.Node, e error) + func (n *StateDifferenceEngine) Create(m types.Node) (r types.Node, e error) + func (n *StateDifferenceEngine) Delete(m types.Node) (r types.Node, e error) + func (n *StateDifferenceEngine) DeleteAll() (r []types.Node, e error) + func (n *StateDifferenceEngine) DeleteByID(nid types.NodeID) (r types.Node, e error) + func (n *StateDifferenceEngine) Emit(v []types.Event) + func (n *StateDifferenceEngine) EmitOne(v types.Event) + func (n *StateDifferenceEngine) EventType() types.EventType + func (n *StateDifferenceEngine) GetLoggerLevel() types.LoggerLevel + func (n *StateDifferenceEngine) GetModule() string + func (n *StateDifferenceEngine) GetValue(url string) (r reflect.Value, e error) + func (n *StateDifferenceEngine) GetValueDsc(url string) (r reflect.Value, e error) + func (n *StateDifferenceEngine) IsEnabledFor(level types.LoggerLevel) bool + func (n *StateDifferenceEngine) Log(level types.LoggerLevel, m string) + func (n *StateDifferenceEngine) Logf(level types.LoggerLevel, fmt string, v ...interface{}) + func (n *StateDifferenceEngine) QueryChan() chan<- types.Query + func (n *StateDifferenceEngine) Read(nid types.NodeID) (r types.Node, e error) + func (n *StateDifferenceEngine) ReadAll() (r []types.Node, e error) + func (n *StateDifferenceEngine) ReadAllDsc() (r []types.Node, e error) + func (n *StateDifferenceEngine) ReadDsc(nid types.NodeID) (r types.Node, e error) + func (n *StateDifferenceEngine) Run(ready chan<- interface{}) + func (n *StateDifferenceEngine) SetLoggerLevel(level types.LoggerLevel) + func (n *StateDifferenceEngine) SetModule(name string) + func (n *StateDifferenceEngine) SetValue(url string, v reflect.Value) (r reflect.Value, e error) + func (n *StateDifferenceEngine) SetValueDsc(url string, v reflect.Value) (r reflect.Value, e error) + func (n *StateDifferenceEngine) Subscribe(id string, c chan<- []types.Event) error + func (n *StateDifferenceEngine) Unsubscribe(id string) error + func (n *StateDifferenceEngine) Update(m types.Node) (r types.Node, e error) + func (n *StateDifferenceEngine) UpdateDsc(m types.Node) (r types.Node, e error) + type StateMutation struct + func NewStateMutation(mut map[string][2]reflect.Value, req map[string]reflect.Value, ...) *StateMutation + func (s *StateMutation) After() types.StateSpec + func (s *StateMutation) Before() types.StateSpec + func (s *StateMutation) Context() types.StateMutationContext + func (s *StateMutation) Excludes() map[string]reflect.Value + func (s *StateMutation) FailTo() [3]string + func (s *StateMutation) Mutates() map[string][2]reflect.Value + func (s *StateMutation) Requires() map[string]reflect.Value + func (s *StateMutation) SetTimeout(t time.Duration) + func (s *StateMutation) SpecCompatIn(sp types.StateSpec, muts map[string]uint32) bool + func (s *StateMutation) SpecCompatOut(sp types.StateSpec, muts map[string]uint32) bool + func (s *StateMutation) Timeout() time.Duration + type StateMutationEngine struct + func NewStateMutationEngine(ctx Context, qc chan types.Query) *StateMutationEngine + func (sme *StateMutationEngine) DumpGraph() + func (sme *StateMutationEngine) DumpJSONGraph(nodes []*mutationNode, edges []*mutationEdge) + func (sme *StateMutationEngine) Emit(v []types.Event) + func (sme *StateMutationEngine) EmitOne(v types.Event) + func (sme *StateMutationEngine) EventType() types.EventType + func (sme *StateMutationEngine) Freeze() + func (sme *StateMutationEngine) Frozen() bool + func (sme *StateMutationEngine) GetLoggerLevel() types.LoggerLevel + func (sme *StateMutationEngine) GetModule() string + func (sme *StateMutationEngine) IsEnabledFor(level types.LoggerLevel) bool + func (sme *StateMutationEngine) Log(level types.LoggerLevel, m string) + func (sme *StateMutationEngine) Logf(level types.LoggerLevel, fmt string, v ...interface{}) + func (sme *StateMutationEngine) NodeMatch(node types.Node) (i int) + func (sme *StateMutationEngine) PathExists(start types.Node, end types.Node) (r bool, e error) + func (sme *StateMutationEngine) QueryChan() chan<- types.Query + func (sme *StateMutationEngine) RegisterMutation(si, id string, mut types.StateMutation) (e error) + func (sme *StateMutationEngine) Run(ready chan<- interface{}) + func (sme *StateMutationEngine) SetLoggerLevel(level types.LoggerLevel) + func (sme *StateMutationEngine) SetModule(name string) + func (sme *StateMutationEngine) Subscribe(id string, c chan<- []types.Event) error + func (sme *StateMutationEngine) Thaw() + func (sme *StateMutationEngine) Unsubscribe(id string) error + type StateSpec struct + func NewStateSpec(req map[string]reflect.Value, exc map[string]reflect.Value) *StateSpec + func (a *StateSpec) SpecCompat(b types.StateSpec) (r bool) + func (s *StateSpec) Equal(b types.StateSpec) bool + func (s *StateSpec) Excludes() map[string]reflect.Value + func (s *StateSpec) ExcsEqual(b types.StateSpec) bool + func (s *StateSpec) LeastCommon(b types.StateSpec) + func (s *StateSpec) NodeCompatWithMutators(n types.Node, muts map[string]uint32) (r bool) + func (s *StateSpec) NodeMatch(n types.Node) (r bool) + func (s *StateSpec) NodeMatchWithMutators(n types.Node, muts map[string]uint32) bool + func (s *StateSpec) ReqsEqual(b types.StateSpec) bool + func (s *StateSpec) Requires() map[string]reflect.Value + func (s *StateSpec) SpecMerge(b types.StateSpec) (ns types.StateSpec, e error) + func (s *StateSpec) SpecMergeMust(b types.StateSpec) (ns types.StateSpec) + func (s *StateSpec) StripZeros() + type StateSyncEngine struct + func NewStateSyncEngine(ctx Context) *StateSyncEngine + func (*StateSyncEngine) Name() string + func (sse *StateSyncEngine) Emit(v []types.Event) + func (sse *StateSyncEngine) EmitOne(v types.Event) + func (sse *StateSyncEngine) EventType() types.EventType + func (sse *StateSyncEngine) GetLoggerLevel() types.LoggerLevel + func (sse *StateSyncEngine) GetModule() string + func (sse *StateSyncEngine) GetState() types.ServiceState + func (sse *StateSyncEngine) ID() string + func (sse *StateSyncEngine) IsEnabledFor(level types.LoggerLevel) bool + func (sse *StateSyncEngine) Log(level types.LoggerLevel, m string) + func (sse *StateSyncEngine) Logf(level types.LoggerLevel, fmt string, v ...interface{}) + func (sse *StateSyncEngine) Module() string + func (sse *StateSyncEngine) RPCPhoneHome(ctx context.Context, in *pb.PhoneHomeRequest) (out *pb.PhoneHomeReply, e error) + func (sse *StateSyncEngine) Run(ready chan<- interface{}) + func (sse *StateSyncEngine) SetCtl(chan<- types.ServiceControl) + func (sse *StateSyncEngine) SetLoggerLevel(level types.LoggerLevel) + func (sse *StateSyncEngine) SetModule(name string) + func (sse *StateSyncEngine) SetSock(string) + func (sse *StateSyncEngine) Start() + func (sse *StateSyncEngine) Stop() + func (sse *StateSyncEngine) Subscribe(id string, c chan<- []types.Event) error + func (sse *StateSyncEngine) Unsubscribe(id string) error + func (sse *StateSyncEngine) UpdateConfig() + func (sse *StateSyncEngine) Watch(chan<- types.ServiceInstanceUpdate) + type WriterLogger struct + DisablePrefix bool + func (l *WriterLogger) GetLoggerLevel() types.LoggerLevel + func (l *WriterLogger) GetModule() string + func (l *WriterLogger) IsEnabledFor(lv types.LoggerLevel) (r bool) + func (l *WriterLogger) Log(lv types.LoggerLevel, m string) + func (l *WriterLogger) Logf(lv types.LoggerLevel, f string, v ...interface{}) + func (l *WriterLogger) RegisterWriter(w io.Writer) + func (l *WriterLogger) SetLoggerLevel(lv types.LoggerLevel) + func (l *WriterLogger) SetModule(m string)