clients

package
v0.0.0-...-a4452f2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 17, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
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

func (t *Forwarder) GetMaster() ws.Speaker

GetMaster returns the current analyzer the agent is sending its events to

func (*Forwarder) Inhib

func (t *Forwarder) Inhib(c ws.Speaker)

Inhib node and edge forwarding

func (*Forwarder) OnEdgeAdded

func (t *Forwarder) OnEdgeAdded(e *graph.Edge)

OnEdgeAdded graph edge added event. Implements the EventListener interface.

func (*Forwarder) OnEdgeDeleted

func (t *Forwarder) OnEdgeDeleted(e *graph.Edge)

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

func (t *Forwarder) OnNewMaster(c ws.Speaker)

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

func (t *Forwarder) OnNodeAdded(n *graph.Node)

OnNodeAdded graph node added event. Implements the EventListener interface.

func (*Forwarder) OnNodeDeleted

func (t *Forwarder) OnNodeDeleted(n *graph.Node)

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

func (s *Seed) OnConnected(c ws.Speaker) error

OnConnected websocket listener

func (*Seed) Start

func (s *Seed) Start()

Start the seed

func (*Seed) Stop

func (s *Seed) Stop()

Stop the seed

type Subscriber

type Subscriber struct {
	*websocket.StructSpeaker
	// contains filtered or unexported fields
}

func NewSubscriber

func NewSubscriber(client *websocket.Client, g *graph.Graph, logger logging.Logger, inibitor endpoints.Inhibitor) *Subscriber

func (*Subscriber) OnStructMessage

func (s *Subscriber) OnStructMessage(c websocket.Speaker, msg *websocket.StructMessage)

OnStructMessage callback

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL