fabric

package
v0.24.328 Latest Latest
Warning

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

Go to latest
Published: Jun 13, 2023 License: Apache-2.0 Imports: 15 Imported by: 1

Documentation

Index

Constants

View Source
const (
	EventRemovedEdgeSession = "RemovedEdgeSession"

	EventAddedApiSession   = "AddedApiSession"
	EventUpdatedApiSession = "UpdatedApiSession"
	EventRemovedApiSession = "RemovedApiSession"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type DisconnectCB

type DisconnectCB func(token string)

type MapWithMutex

type MapWithMutex struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*MapWithMutex) Put

func (self *MapWithMutex) Put(ch channel.Channel, f func())

type RemoveListener

type RemoveListener func()

type StateManager

type StateManager interface {
	//"Network" Sessions
	RemoveEdgeSession(token string)
	AddEdgeSessionRemovedListener(token string, callBack func(token string)) RemoveListener

	//ApiSessions
	GetApiSession(token string) *edge_ctrl_pb.ApiSession
	GetApiSessionWithTimeout(token string, timeout time.Duration) *edge_ctrl_pb.ApiSession
	AddApiSession(apiSession *edge_ctrl_pb.ApiSession)
	UpdateApiSession(apiSession *edge_ctrl_pb.ApiSession)
	RemoveApiSession(token string)
	RemoveMissingApiSessions(knownSessions []*edge_ctrl_pb.ApiSession, beforeSessionId string)
	AddConnectedApiSession(token string)
	RemoveConnectedApiSession(token string)
	AddConnectedApiSessionWithChannel(token string, removeCB func(), ch channel.Channel)
	RemoveConnectedApiSessionWithChannel(token string, underlay channel.Channel)
	AddApiSessionRemovedListener(token string, callBack func(token string)) RemoveListener

	StartHeartbeat(env env.RouterEnv, seconds int, closeNotify <-chan struct{})
	ValidateSessions(ch channel.Channel, chunkSize uint32, minInterval, maxInterval time.Duration)

	DumpApiSessions(c *bufio.ReadWriter) error
	MarkSyncInProgress(trackerId string)
	MarkSyncStopped(trackerId string)
	IsSyncInProgress() bool
}

func NewStateManager

func NewStateManager() StateManager

type StateManagerImpl

type StateManagerImpl struct {
	Hostname       string
	ControllerAddr string
	ClusterId      string
	NodeId         string
	events.EventEmmiter
	// contains filtered or unexported fields
}

func (*StateManagerImpl) ActiveApiSessionTokens

func (sm *StateManagerImpl) ActiveApiSessionTokens() []string

func (*StateManagerImpl) AddApiSession

func (sm *StateManagerImpl) AddApiSession(apiSession *edge_ctrl_pb.ApiSession)

func (*StateManagerImpl) AddApiSessionRemovedListener

func (sm *StateManagerImpl) AddApiSessionRemovedListener(token string, callBack func(token string)) RemoveListener

func (*StateManagerImpl) AddConnectedApiSession

func (sm *StateManagerImpl) AddConnectedApiSession(token string)

func (*StateManagerImpl) AddConnectedApiSessionWithChannel

func (sm *StateManagerImpl) AddConnectedApiSessionWithChannel(token string, removeCB func(), ch channel.Channel)

func (*StateManagerImpl) AddEdgeSessionRemovedListener added in v0.19.57

func (sm *StateManagerImpl) AddEdgeSessionRemovedListener(token string, callBack func(token string)) RemoveListener

func (*StateManagerImpl) DumpApiSessions added in v0.19.133

func (sm *StateManagerImpl) DumpApiSessions(c *bufio.ReadWriter) error

func (*StateManagerImpl) GetApiSession

func (sm *StateManagerImpl) GetApiSession(token string) *edge_ctrl_pb.ApiSession

func (*StateManagerImpl) GetApiSessionWithTimeout

func (sm *StateManagerImpl) GetApiSessionWithTimeout(token string, timeout time.Duration) *edge_ctrl_pb.ApiSession

func (*StateManagerImpl) IsSyncInProgress added in v0.19.133

func (sm *StateManagerImpl) IsSyncInProgress() bool

func (*StateManagerImpl) MarkSyncInProgress added in v0.19.133

func (sm *StateManagerImpl) MarkSyncInProgress(trackerId string)

func (*StateManagerImpl) MarkSyncStopped added in v0.19.133

func (sm *StateManagerImpl) MarkSyncStopped(trackerId string)

func (*StateManagerImpl) RemoveApiSession

func (sm *StateManagerImpl) RemoveApiSession(token string)

func (*StateManagerImpl) RemoveConnectedApiSession

func (sm *StateManagerImpl) RemoveConnectedApiSession(token string)

func (*StateManagerImpl) RemoveConnectedApiSessionWithChannel

func (sm *StateManagerImpl) RemoveConnectedApiSessionWithChannel(token string, ch channel.Channel)

func (*StateManagerImpl) RemoveEdgeSession added in v0.19.57

func (sm *StateManagerImpl) RemoveEdgeSession(token string)

func (*StateManagerImpl) RemoveMissingApiSessions

func (sm *StateManagerImpl) RemoveMissingApiSessions(knownApiSessions []*edge_ctrl_pb.ApiSession, beforeSessionId string)

RemoveMissingApiSessions removes API Sessions not present in the knownApiSessions argument. If the beforeSessionId value is not empty string, it will be used as a monotonic comparison between it and API session ids. API session ids later than the sync will be ignored.

func (*StateManagerImpl) SessionConnectionClosed

func (sm *StateManagerImpl) SessionConnectionClosed(token string)

func (*StateManagerImpl) StartHeartbeat

func (sm *StateManagerImpl) StartHeartbeat(env env.RouterEnv, intervalSeconds int, closeNotify <-chan struct{})

func (*StateManagerImpl) UpdateApiSession

func (sm *StateManagerImpl) UpdateApiSession(apiSession *edge_ctrl_pb.ApiSession)

func (*StateManagerImpl) ValidateSessions

func (sm *StateManagerImpl) ValidateSessions(ch channel.Channel, chunkSize uint32, minInterval, maxInterval time.Duration)

type TokenProvider

type TokenProvider interface {
	ActiveApiSessionTokens() []string
	// contains filtered or unexported methods
}

Jump to

Keyboard shortcuts

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