Documentation
¶
Index ¶
- Constants
- type EventHandler
- type Forwarder
- func (t *Forwarder) GetMaster() ws.Speaker
- func (t *Forwarder) Inhib(c ws.Speaker)
- func (t *Forwarder) OnEdgeAdded(e *graph.Edge)
- func (t *Forwarder) OnEdgeDeleted(e *graph.Edge)
- func (t *Forwarder) OnEdgeUpdated(e *graph.Edge, ops []graph.PartiallyUpdatedOp)
- func (t *Forwarder) OnNewMaster(c ws.Speaker)
- func (t *Forwarder) OnNodeAdded(n *graph.Node)
- func (t *Forwarder) OnNodeDeleted(n *graph.Node)
- func (t *Forwarder) OnNodeUpdated(n *graph.Node, ops []graph.PartiallyUpdatedOp)
- type Seed
- type Subscriber
Constants ¶
const SeedService service.Type = "seed"
SeedService defines the seed service type
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EventHandler ¶
type EventHandler interface {
OnSynchronized()
}
EventHandler is the interface to be implemented by event handler
type Forwarder ¶
type Forwarder struct {
// contains filtered or unexported fields
}
Forwarder forwards the topology to only one master server. When switching from one analyzer to another one the agent does a full re-sync since some messages could have been lost.
func NewForwarder ¶
func NewForwarder(g *graph.Graph, pool ws.SpeakerPool, nodeFilter *filters.Filter, logger logging.Logger) *Forwarder
NewForwarder returns a new Graph forwarder which forwards event of the given graph to the given WebSocket JSON speakers.
func (*Forwarder) GetMaster ¶
GetMaster returns the current analyzer the agent is sending its events to
func (*Forwarder) OnEdgeAdded ¶
OnEdgeAdded graph edge added event. Implements the EventListener interface.
func (*Forwarder) OnEdgeDeleted ¶
OnEdgeDeleted graph edge deleted event. Implements the EventListener interface.
func (*Forwarder) OnEdgeUpdated ¶
func (t *Forwarder) OnEdgeUpdated(e *graph.Edge, ops []graph.PartiallyUpdatedOp)
OnEdgeUpdated graph edge updated event. Implements the EventListener interface.
func (*Forwarder) OnNewMaster ¶
OnNewMaster is called by the master election mechanism when a new master is elected. In such case a "Re-sync" is triggered in order to be in sync with the new master.
func (*Forwarder) OnNodeAdded ¶
OnNodeAdded graph node added event. Implements the EventListener interface.
func (*Forwarder) OnNodeDeleted ¶
OnNodeDeleted graph node deleted event. Implements the EventListener interface.
func (*Forwarder) OnNodeUpdated ¶
func (t *Forwarder) OnNodeUpdated(n *graph.Node, ops []graph.PartiallyUpdatedOp)
OnNodeUpdated graph node updated event. Implements the EventListener interface.
type Seed ¶
type Seed struct { *ws.Client ws.DefaultSpeakerEventHandler // contains filtered or unexported fields }
Seed is a service with its own graph. The seed synchronizes its graph by subscribing to the agent using WebSocket. It forwards all its graph events to the agent. A filter can be used to subscribe only to a part of the agent graph.
func NewSeed ¶
func NewSeed(g *graph.Graph, clientType service.Type, address, subscribeFilter, publishFilter string, wsOpts ws.ClientOpts, logger logging.Logger) (*Seed, error)
NewSeed returns a new seed
func (*Seed) OnConnected ¶
OnConnected websocket listener
type Subscriber ¶
type Subscriber struct { *websocket.StructSpeaker // contains filtered or unexported fields }
func NewSubscriber ¶
func (*Subscriber) OnStructMessage ¶
func (s *Subscriber) OnStructMessage(c websocket.Speaker, msg *websocket.StructMessage)
OnStructMessage callback