notify

package
v1.2.5 Latest Latest
Warning

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

Go to latest
Published: Sep 23, 2024 License: Apache-2.0 Imports: 27 Imported by: 0

README

Notify Protocol

The Notify protocol is used to distribute and sync information between the Edge-Cloud services of the Controller, CRM, DME, and others.

Protobuf annotations are used to indicate which objects can be sent/received via the notify protocol. There are two types of objects, notify_cache objects which mirror data (state) from one node to another, and notify_message objects, which send one-off messages.

Object specific code for send and receive are auto-generated by protoc-gen-notify. These generated objects have generic interfaces which are used by the hand-written notify code. This allows the notify code to be agnostic to the specific object type (like App or AppInst), with the exception of filtering based on Cloudlet keys.

Connectivity

Connectivity between services is organized as a tree, with Controllers at the top, and other nodes below. It is intended to be able to support multiple levels of hierarchy, but currently only two are implemented. Connectivity is established bottom-up, so CRM/DMEs have a list (or subset list) of Controllers above them, and connect to one of them. A node may have a single node it connects to above it, and/or may have multiple nodes connecting it from below in a multi-level hierarchy. Nodes never connect horizontally, i.e. CRM will never connect to another CRM.

This connectivity is established by the notify protocol. Once connected and an initial negotation is done, the connection is fully bidirectional and both directions are independent.

The notify protocol itself does not care about the number of levels in the tree, nor the radix.

Filtering

The notify protocol tells the remote node what types of objects (cache/message) it wants. It knows which ones it wants to receive based on which types have been registered for receive with it. The remote side will only send object types that have been requested. The local side will only send objects that have been registered for send, and are "wanted" by the remote.

Additionally, there is custom filtering based on Cloudlet key. Since this is a special case, notify_custom_update and notify_filter_cloudlet_key protobuf options are used to introduce hooks into the auto-generated code. Additionally the client/server itself must be told to ask to the remote side to filter based on cloudlet key.

Data Mirroring

The server side (upstream) pushes objects from the persistent (etcd) database down to clients. The client pushes objects containing dynamic state (cloudlet resources, etc) up to upstream server nodes.

In effect, both directions are mirroring their local state onto the remote node. The goal is to keep the remote state in sync with the local state. Pushes are triggered by node-specific code calling into the notify code to tell it about the key of an object that has been changed/deleted. The notify code will then look up a copy of that data and then push it to the remote node.

There is a difference in behavior between upstream/downstream when handling disconnects. When a client node loses a server, it tries to reconnect to a new server. In the meantime, it does not change its copy of the upstream data. When it manages to reconnect, the server will resend it the full data. Once the initial send is done, the client removes any data that was not received (because that data had been removed while it was disconnected). This minimizes changes to the local mirrored data in the face of server disconnects. However, when a server loses its client, it flushes all data related to that client. This is because the client may reconnect to a different server, or may just be gone forever. So the notify code tracks downstream data on a per-client basis using a NotifyId.

Documentation

Overview

Dummy Sender/Receiver for unit testing. These are exported because the notify package is meant to be included in other processes, so to include these structs in other package's unit tests, these test structures must be exported.

Index

Constants

View Source
const (
	AppType     CacheType = iota
	AppInstType           = iota
	CloudletType
	FlavorType
	ClusterInstType
	AppInstInfoType
	ClusterInstInfoType
	CloudletInfoType
	AlertType
	NodeType
	FreeReservableClusterInstType
	VMPoolType
	VMPoolInfoType
	GPUDriverType
	NetworkType
	TrustPolicyExceptionType
)
View Source
const NotifyVersion uint32 = 1

Variables

View Source
var NoForceDelete = false
View Source
var NotifyRetryTime time.Duration = 250 * time.Millisecond

Functions

func DumpStacks

func DumpStacks()

func WaitFor

func WaitFor(cache WaitForCache, count int) error

Types

type AlertCacheHandler

type AlertCacheHandler interface {
	SendAlertHandler
	RecvAlertHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.Alert, modRev int64))
}

type AlertPolicyCacheHandler

type AlertPolicyCacheHandler interface {
	SendAlertPolicyHandler
	RecvAlertPolicyHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.AlertPolicy, modRev int64))
}

type AlertPolicyRecv

type AlertPolicyRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewAlertPolicyRecv

func NewAlertPolicyRecv(handler RecvAlertPolicyHandler) *AlertPolicyRecv

func (*AlertPolicyRecv) Flush

func (s *AlertPolicyRecv) Flush(ctx context.Context, notifyId int64)

func (*AlertPolicyRecv) GetMessageName

func (s *AlertPolicyRecv) GetMessageName() string

func (*AlertPolicyRecv) GetName

func (s *AlertPolicyRecv) GetName() string

func (*AlertPolicyRecv) GetRecvCount

func (s *AlertPolicyRecv) GetRecvCount() uint64

func (*AlertPolicyRecv) Recv

func (s *AlertPolicyRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*AlertPolicyRecv) RecvAllEnd

func (s *AlertPolicyRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*AlertPolicyRecv) RecvAllStart

func (s *AlertPolicyRecv) RecvAllStart()

func (*AlertPolicyRecv) SetSendRecv

func (s *AlertPolicyRecv) SetSendRecv(sendrecv *SendRecv)

type AlertPolicyRecvMany

type AlertPolicyRecvMany struct {
	// contains filtered or unexported fields
}

func NewAlertPolicyRecvMany

func NewAlertPolicyRecvMany(handler RecvAlertPolicyHandler) *AlertPolicyRecvMany

func (*AlertPolicyRecvMany) Flush

func (s *AlertPolicyRecvMany) Flush(ctx context.Context, notifyId int64)

func (*AlertPolicyRecvMany) NewRecv

func (s *AlertPolicyRecvMany) NewRecv() NotifyRecv

type AlertPolicySend

type AlertPolicySend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.AlertPolicyKey]AlertPolicySendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewAlertPolicySend

func NewAlertPolicySend(handler SendAlertPolicyHandler) *AlertPolicySend

func (*AlertPolicySend) ForceDelete

func (s *AlertPolicySend) ForceDelete(ctx context.Context, key *edgeproto.AlertPolicyKey, modRev int64)

func (*AlertPolicySend) GetMessageName

func (s *AlertPolicySend) GetMessageName() string

func (*AlertPolicySend) GetName

func (s *AlertPolicySend) GetName() string

func (*AlertPolicySend) GetNotifyId

func (s *AlertPolicySend) GetNotifyId() int64

func (*AlertPolicySend) GetSendCount

func (s *AlertPolicySend) GetSendCount() uint64

func (*AlertPolicySend) PrepData

func (s *AlertPolicySend) PrepData() bool

func (*AlertPolicySend) Send

func (s *AlertPolicySend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*AlertPolicySend) SendForCloudlet

func (s *AlertPolicySend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*AlertPolicySend) SetSendRecv

func (s *AlertPolicySend) SetSendRecv(sendrecv *SendRecv)

func (*AlertPolicySend) Update

func (s *AlertPolicySend) Update(ctx context.Context, obj *edgeproto.AlertPolicy, modRev int64)

func (*AlertPolicySend) UpdateAll

func (s *AlertPolicySend) UpdateAll(ctx context.Context)

type AlertPolicySendContext

type AlertPolicySendContext struct {
	// contains filtered or unexported fields
}

type AlertPolicySendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewAlertPolicySendMany

func NewAlertPolicySendMany(handler SendAlertPolicyHandler) *AlertPolicySendMany

func (*AlertPolicySendMany) DoneSend

func (s *AlertPolicySendMany) DoneSend(peerAddr string, send NotifySend)

func (*AlertPolicySendMany) GetTypeString

func (s *AlertPolicySendMany) GetTypeString() string

func (*AlertPolicySendMany) NewSend

func (s *AlertPolicySendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*AlertPolicySendMany) Update

func (s *AlertPolicySendMany) Update(ctx context.Context, obj *edgeproto.AlertPolicy, modRev int64)

type AlertRecv

type AlertRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewAlertRecv

func NewAlertRecv(handler RecvAlertHandler) *AlertRecv

func (*AlertRecv) Flush

func (s *AlertRecv) Flush(ctx context.Context, notifyId int64)

func (*AlertRecv) GetMessageName

func (s *AlertRecv) GetMessageName() string

func (*AlertRecv) GetName

func (s *AlertRecv) GetName() string

func (*AlertRecv) GetRecvCount

func (s *AlertRecv) GetRecvCount() uint64

func (*AlertRecv) Recv

func (s *AlertRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*AlertRecv) RecvAllEnd

func (s *AlertRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*AlertRecv) RecvAllStart

func (s *AlertRecv) RecvAllStart()

func (*AlertRecv) SetSendRecv

func (s *AlertRecv) SetSendRecv(sendrecv *SendRecv)

type AlertRecvMany

type AlertRecvMany struct {
	// contains filtered or unexported fields
}

func NewAlertRecvMany

func NewAlertRecvMany(handler RecvAlertHandler) *AlertRecvMany

func (*AlertRecvMany) Flush

func (s *AlertRecvMany) Flush(ctx context.Context, notifyId int64)

func (*AlertRecvMany) NewRecv

func (s *AlertRecvMany) NewRecv() NotifyRecv

type AlertSend

type AlertSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.AlertKey]AlertSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewAlertSend

func NewAlertSend(handler SendAlertHandler) *AlertSend

func (*AlertSend) ForceDelete

func (s *AlertSend) ForceDelete(ctx context.Context, key *edgeproto.AlertKey, modRev int64)

func (*AlertSend) GetMessageName

func (s *AlertSend) GetMessageName() string

func (*AlertSend) GetName

func (s *AlertSend) GetName() string

func (*AlertSend) GetNotifyId

func (s *AlertSend) GetNotifyId() int64

func (*AlertSend) GetSendCount

func (s *AlertSend) GetSendCount() uint64

func (*AlertSend) PrepData

func (s *AlertSend) PrepData() bool

func (*AlertSend) Send

func (s *AlertSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*AlertSend) SendForCloudlet

func (s *AlertSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*AlertSend) SetSendRecv

func (s *AlertSend) SetSendRecv(sendrecv *SendRecv)

func (*AlertSend) Update

func (s *AlertSend) Update(ctx context.Context, obj *edgeproto.Alert, modRev int64)

func (*AlertSend) UpdateAll

func (s *AlertSend) UpdateAll(ctx context.Context)

type AlertSendContext

type AlertSendContext struct {
	// contains filtered or unexported fields
}

type AlertSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewAlertSendMany

func NewAlertSendMany(handler SendAlertHandler) *AlertSendMany

func (*AlertSendMany) DoneSend

func (s *AlertSendMany) DoneSend(peerAddr string, send NotifySend)

func (*AlertSendMany) GetTypeString

func (s *AlertSendMany) GetTypeString() string

func (*AlertSendMany) NewSend

func (s *AlertSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*AlertSendMany) Update

func (s *AlertSendMany) Update(ctx context.Context, obj *edgeproto.Alert, modRev int64)

type AppCacheHandler

type AppCacheHandler interface {
	SendAppHandler
	RecvAppHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.App, modRev int64))
}

type AppInstCacheHandler

type AppInstCacheHandler interface {
	SendAppInstHandler
	RecvAppInstHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.AppInst, modRev int64))
}

type AppInstClientKeyCacheHandler

type AppInstClientKeyCacheHandler interface {
	SendAppInstClientKeyHandler
	RecvAppInstClientKeyHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.AppInstClientKey, modRev int64))
}

type AppInstClientKeyRecv

type AppInstClientKeyRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewAppInstClientKeyRecv

func NewAppInstClientKeyRecv(handler RecvAppInstClientKeyHandler) *AppInstClientKeyRecv

func (*AppInstClientKeyRecv) Flush

func (s *AppInstClientKeyRecv) Flush(ctx context.Context, notifyId int64)

func (*AppInstClientKeyRecv) GetMessageName

func (s *AppInstClientKeyRecv) GetMessageName() string

func (*AppInstClientKeyRecv) GetName

func (s *AppInstClientKeyRecv) GetName() string

func (*AppInstClientKeyRecv) GetRecvCount

func (s *AppInstClientKeyRecv) GetRecvCount() uint64

func (*AppInstClientKeyRecv) Recv

func (s *AppInstClientKeyRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*AppInstClientKeyRecv) RecvAllEnd

func (s *AppInstClientKeyRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*AppInstClientKeyRecv) RecvAllStart

func (s *AppInstClientKeyRecv) RecvAllStart()

func (*AppInstClientKeyRecv) SetSendRecv

func (s *AppInstClientKeyRecv) SetSendRecv(sendrecv *SendRecv)

type AppInstClientKeyRecvMany

type AppInstClientKeyRecvMany struct {
	// contains filtered or unexported fields
}

func (*AppInstClientKeyRecvMany) Flush

func (s *AppInstClientKeyRecvMany) Flush(ctx context.Context, notifyId int64)

func (*AppInstClientKeyRecvMany) NewRecv

func (s *AppInstClientKeyRecvMany) NewRecv() NotifyRecv

type AppInstClientKeySend

type AppInstClientKeySend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.AppInstClientKey]AppInstClientKeySendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewAppInstClientKeySend

func NewAppInstClientKeySend(handler SendAppInstClientKeyHandler) *AppInstClientKeySend

func (*AppInstClientKeySend) ForceDelete

func (s *AppInstClientKeySend) ForceDelete(ctx context.Context, key *edgeproto.AppInstClientKey, modRev int64)

func (*AppInstClientKeySend) GetMessageName

func (s *AppInstClientKeySend) GetMessageName() string

func (*AppInstClientKeySend) GetName

func (s *AppInstClientKeySend) GetName() string

func (*AppInstClientKeySend) GetNotifyId

func (s *AppInstClientKeySend) GetNotifyId() int64

func (*AppInstClientKeySend) GetSendCount

func (s *AppInstClientKeySend) GetSendCount() uint64

func (*AppInstClientKeySend) PrepData

func (s *AppInstClientKeySend) PrepData() bool

func (*AppInstClientKeySend) Send

func (s *AppInstClientKeySend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*AppInstClientKeySend) SendForCloudlet

func (s *AppInstClientKeySend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*AppInstClientKeySend) SetSendRecv

func (s *AppInstClientKeySend) SetSendRecv(sendrecv *SendRecv)

func (*AppInstClientKeySend) Update

func (s *AppInstClientKeySend) Update(ctx context.Context, obj *edgeproto.AppInstClientKey, modRev int64)

func (*AppInstClientKeySend) UpdateAll

func (s *AppInstClientKeySend) UpdateAll(ctx context.Context)

type AppInstClientKeySendContext

type AppInstClientKeySendContext struct {
	// contains filtered or unexported fields
}

type AppInstClientKeySendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func (*AppInstClientKeySendMany) DoneSend

func (s *AppInstClientKeySendMany) DoneSend(peerAddr string, send NotifySend)

func (*AppInstClientKeySendMany) GetTypeString

func (s *AppInstClientKeySendMany) GetTypeString() string

func (*AppInstClientKeySendMany) NewSend

func (s *AppInstClientKeySendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*AppInstClientKeySendMany) Update

type AppInstClientRecv

type AppInstClientRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewAppInstClientRecv

func NewAppInstClientRecv(handler RecvAppInstClientHandler) *AppInstClientRecv

func (*AppInstClientRecv) GetMessageName

func (s *AppInstClientRecv) GetMessageName() string

func (*AppInstClientRecv) GetName

func (s *AppInstClientRecv) GetName() string

func (*AppInstClientRecv) GetRecvCount

func (s *AppInstClientRecv) GetRecvCount() uint64

func (*AppInstClientRecv) Recv

func (s *AppInstClientRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*AppInstClientRecv) RecvAllEnd

func (s *AppInstClientRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*AppInstClientRecv) RecvAllStart

func (s *AppInstClientRecv) RecvAllStart()

func (*AppInstClientRecv) SetSendRecv

func (s *AppInstClientRecv) SetSendRecv(sendrecv *SendRecv)

type AppInstClientRecvMany

type AppInstClientRecvMany struct {
	// contains filtered or unexported fields
}

func NewAppInstClientRecvMany

func NewAppInstClientRecvMany(handler RecvAppInstClientHandler) *AppInstClientRecvMany

func (*AppInstClientRecvMany) Flush

func (s *AppInstClientRecvMany) Flush(ctx context.Context, notifyId int64)

func (*AppInstClientRecvMany) NewRecv

func (s *AppInstClientRecvMany) NewRecv() NotifyRecv

type AppInstClientSend

type AppInstClientSend struct {
	Name        string
	MessageName string
	Data        []*edgeproto.AppInstClient

	Ctxs []context.Context

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewAppInstClientSend

func NewAppInstClientSend() *AppInstClientSend

func (*AppInstClientSend) GetMessageName

func (s *AppInstClientSend) GetMessageName() string

func (*AppInstClientSend) GetName

func (s *AppInstClientSend) GetName() string

func (*AppInstClientSend) GetNotifyId

func (s *AppInstClientSend) GetNotifyId() int64

func (*AppInstClientSend) GetSendCount

func (s *AppInstClientSend) GetSendCount() uint64

func (*AppInstClientSend) PrepData

func (s *AppInstClientSend) PrepData() bool

func (*AppInstClientSend) Send

func (s *AppInstClientSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*AppInstClientSend) SendForCloudlet

func (s *AppInstClientSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*AppInstClientSend) SetSendRecv

func (s *AppInstClientSend) SetSendRecv(sendrecv *SendRecv)

func (*AppInstClientSend) Update

func (*AppInstClientSend) UpdateAll

func (s *AppInstClientSend) UpdateAll(ctx context.Context)

type AppInstClientSendContext

type AppInstClientSendContext struct {
	// contains filtered or unexported fields
}

type AppInstClientSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewAppInstClientSendMany

func NewAppInstClientSendMany() *AppInstClientSendMany

func (*AppInstClientSendMany) DoneSend

func (s *AppInstClientSendMany) DoneSend(peerAddr string, send NotifySend)

func (*AppInstClientSendMany) GetTypeString

func (s *AppInstClientSendMany) GetTypeString() string

func (*AppInstClientSendMany) NewSend

func (s *AppInstClientSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*AppInstClientSendMany) Update

func (*AppInstClientSendMany) UpdateFiltered

func (s *AppInstClientSendMany) UpdateFiltered(ctx context.Context, msg *edgeproto.AppInstClient, sendOk func(ctx context.Context, send *AppInstClientSend, msg *edgeproto.AppInstClient) bool) int

type AppInstInfoCacheHandler

type AppInstInfoCacheHandler interface {
	SendAppInstInfoHandler
	RecvAppInstInfoHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.AppInstInfo, modRev int64))
}

type AppInstInfoRecv

type AppInstInfoRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewAppInstInfoRecv

func NewAppInstInfoRecv(handler RecvAppInstInfoHandler) *AppInstInfoRecv

func (*AppInstInfoRecv) Flush

func (s *AppInstInfoRecv) Flush(ctx context.Context, notifyId int64)

func (*AppInstInfoRecv) GetMessageName

func (s *AppInstInfoRecv) GetMessageName() string

func (*AppInstInfoRecv) GetName

func (s *AppInstInfoRecv) GetName() string

func (*AppInstInfoRecv) GetRecvCount

func (s *AppInstInfoRecv) GetRecvCount() uint64

func (*AppInstInfoRecv) Recv

func (s *AppInstInfoRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*AppInstInfoRecv) RecvAllEnd

func (s *AppInstInfoRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*AppInstInfoRecv) RecvAllStart

func (s *AppInstInfoRecv) RecvAllStart()

func (*AppInstInfoRecv) SetSendRecv

func (s *AppInstInfoRecv) SetSendRecv(sendrecv *SendRecv)

type AppInstInfoRecvMany

type AppInstInfoRecvMany struct {
	// contains filtered or unexported fields
}

func NewAppInstInfoRecvMany

func NewAppInstInfoRecvMany(handler RecvAppInstInfoHandler) *AppInstInfoRecvMany

func (*AppInstInfoRecvMany) Flush

func (s *AppInstInfoRecvMany) Flush(ctx context.Context, notifyId int64)

func (*AppInstInfoRecvMany) NewRecv

func (s *AppInstInfoRecvMany) NewRecv() NotifyRecv

type AppInstInfoSend

type AppInstInfoSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.AppInstKey]AppInstInfoSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewAppInstInfoSend

func NewAppInstInfoSend(handler SendAppInstInfoHandler) *AppInstInfoSend

func (*AppInstInfoSend) ForceDelete

func (s *AppInstInfoSend) ForceDelete(ctx context.Context, key *edgeproto.AppInstKey, modRev int64)

func (*AppInstInfoSend) GetMessageName

func (s *AppInstInfoSend) GetMessageName() string

func (*AppInstInfoSend) GetName

func (s *AppInstInfoSend) GetName() string

func (*AppInstInfoSend) GetNotifyId

func (s *AppInstInfoSend) GetNotifyId() int64

func (*AppInstInfoSend) GetSendCount

func (s *AppInstInfoSend) GetSendCount() uint64

func (*AppInstInfoSend) PrepData

func (s *AppInstInfoSend) PrepData() bool

func (*AppInstInfoSend) Send

func (s *AppInstInfoSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*AppInstInfoSend) SendForCloudlet

func (s *AppInstInfoSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*AppInstInfoSend) SetSendRecv

func (s *AppInstInfoSend) SetSendRecv(sendrecv *SendRecv)

func (*AppInstInfoSend) Update

func (s *AppInstInfoSend) Update(ctx context.Context, obj *edgeproto.AppInstInfo, modRev int64)

func (*AppInstInfoSend) UpdateAll

func (s *AppInstInfoSend) UpdateAll(ctx context.Context)

type AppInstInfoSendContext

type AppInstInfoSendContext struct {
	// contains filtered or unexported fields
}

type AppInstInfoSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewAppInstInfoSendMany

func NewAppInstInfoSendMany(handler SendAppInstInfoHandler) *AppInstInfoSendMany

func (*AppInstInfoSendMany) DoneSend

func (s *AppInstInfoSendMany) DoneSend(peerAddr string, send NotifySend)

func (*AppInstInfoSendMany) GetTypeString

func (s *AppInstInfoSendMany) GetTypeString() string

func (*AppInstInfoSendMany) NewSend

func (s *AppInstInfoSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*AppInstInfoSendMany) Update

func (s *AppInstInfoSendMany) Update(ctx context.Context, obj *edgeproto.AppInstInfo, modRev int64)

type AppInstRecv

type AppInstRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewAppInstRecv

func NewAppInstRecv(handler RecvAppInstHandler) *AppInstRecv

func (*AppInstRecv) Flush

func (s *AppInstRecv) Flush(ctx context.Context, notifyId int64)

func (*AppInstRecv) GetMessageName

func (s *AppInstRecv) GetMessageName() string

func (*AppInstRecv) GetName

func (s *AppInstRecv) GetName() string

func (*AppInstRecv) GetRecvCount

func (s *AppInstRecv) GetRecvCount() uint64

func (*AppInstRecv) Recv

func (s *AppInstRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*AppInstRecv) RecvAllEnd

func (s *AppInstRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*AppInstRecv) RecvAllStart

func (s *AppInstRecv) RecvAllStart()

func (*AppInstRecv) SetSendRecv

func (s *AppInstRecv) SetSendRecv(sendrecv *SendRecv)

type AppInstRecvMany

type AppInstRecvMany struct {
	// contains filtered or unexported fields
}

func NewAppInstRecvMany

func NewAppInstRecvMany(handler RecvAppInstHandler) *AppInstRecvMany

func (*AppInstRecvMany) Flush

func (s *AppInstRecvMany) Flush(ctx context.Context, notifyId int64)

func (*AppInstRecvMany) NewRecv

func (s *AppInstRecvMany) NewRecv() NotifyRecv

type AppInstRefsCacheHandler

type AppInstRefsCacheHandler interface {
	SendAppInstRefsHandler
	RecvAppInstRefsHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.AppInstRefs, modRev int64))
}

type AppInstRefsRecv

type AppInstRefsRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewAppInstRefsRecv

func NewAppInstRefsRecv(handler RecvAppInstRefsHandler) *AppInstRefsRecv

func (*AppInstRefsRecv) Flush

func (s *AppInstRefsRecv) Flush(ctx context.Context, notifyId int64)

func (*AppInstRefsRecv) GetMessageName

func (s *AppInstRefsRecv) GetMessageName() string

func (*AppInstRefsRecv) GetName

func (s *AppInstRefsRecv) GetName() string

func (*AppInstRefsRecv) GetRecvCount

func (s *AppInstRefsRecv) GetRecvCount() uint64

func (*AppInstRefsRecv) Recv

func (s *AppInstRefsRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*AppInstRefsRecv) RecvAllEnd

func (s *AppInstRefsRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*AppInstRefsRecv) RecvAllStart

func (s *AppInstRefsRecv) RecvAllStart()

func (*AppInstRefsRecv) SetSendRecv

func (s *AppInstRefsRecv) SetSendRecv(sendrecv *SendRecv)

type AppInstRefsRecvMany

type AppInstRefsRecvMany struct {
	// contains filtered or unexported fields
}

func NewAppInstRefsRecvMany

func NewAppInstRefsRecvMany(handler RecvAppInstRefsHandler) *AppInstRefsRecvMany

func (*AppInstRefsRecvMany) Flush

func (s *AppInstRefsRecvMany) Flush(ctx context.Context, notifyId int64)

func (*AppInstRefsRecvMany) NewRecv

func (s *AppInstRefsRecvMany) NewRecv() NotifyRecv

type AppInstRefsSend

type AppInstRefsSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.AppKey]AppInstRefsSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewAppInstRefsSend

func NewAppInstRefsSend(handler SendAppInstRefsHandler) *AppInstRefsSend

func (*AppInstRefsSend) ForceDelete

func (s *AppInstRefsSend) ForceDelete(ctx context.Context, key *edgeproto.AppKey, modRev int64)

func (*AppInstRefsSend) GetMessageName

func (s *AppInstRefsSend) GetMessageName() string

func (*AppInstRefsSend) GetName

func (s *AppInstRefsSend) GetName() string

func (*AppInstRefsSend) GetNotifyId

func (s *AppInstRefsSend) GetNotifyId() int64

func (*AppInstRefsSend) GetSendCount

func (s *AppInstRefsSend) GetSendCount() uint64

func (*AppInstRefsSend) PrepData

func (s *AppInstRefsSend) PrepData() bool

func (*AppInstRefsSend) Send

func (s *AppInstRefsSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*AppInstRefsSend) SendForCloudlet

func (s *AppInstRefsSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*AppInstRefsSend) SetSendRecv

func (s *AppInstRefsSend) SetSendRecv(sendrecv *SendRecv)

func (*AppInstRefsSend) Update

func (s *AppInstRefsSend) Update(ctx context.Context, obj *edgeproto.AppInstRefs, modRev int64)

func (*AppInstRefsSend) UpdateAll

func (s *AppInstRefsSend) UpdateAll(ctx context.Context)

type AppInstRefsSendContext

type AppInstRefsSendContext struct {
	// contains filtered or unexported fields
}

type AppInstRefsSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewAppInstRefsSendMany

func NewAppInstRefsSendMany(handler SendAppInstRefsHandler) *AppInstRefsSendMany

func (*AppInstRefsSendMany) DoneSend

func (s *AppInstRefsSendMany) DoneSend(peerAddr string, send NotifySend)

func (*AppInstRefsSendMany) GetTypeString

func (s *AppInstRefsSendMany) GetTypeString() string

func (*AppInstRefsSendMany) NewSend

func (s *AppInstRefsSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*AppInstRefsSendMany) Update

func (s *AppInstRefsSendMany) Update(ctx context.Context, obj *edgeproto.AppInstRefs, modRev int64)

type AppInstSend

type AppInstSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.AppInstKey]AppInstSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewAppInstSend

func NewAppInstSend(handler SendAppInstHandler) *AppInstSend

func (*AppInstSend) ForceDelete

func (s *AppInstSend) ForceDelete(ctx context.Context, key *edgeproto.AppInstKey, modRev int64)

func (*AppInstSend) GetMessageName

func (s *AppInstSend) GetMessageName() string

func (*AppInstSend) GetName

func (s *AppInstSend) GetName() string

func (*AppInstSend) GetNotifyId

func (s *AppInstSend) GetNotifyId() int64

func (*AppInstSend) GetSendCount

func (s *AppInstSend) GetSendCount() uint64

func (*AppInstSend) PrepData

func (s *AppInstSend) PrepData() bool

func (*AppInstSend) Send

func (s *AppInstSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*AppInstSend) SendForCloudlet

func (s *AppInstSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*AppInstSend) SetSendRecv

func (s *AppInstSend) SetSendRecv(sendrecv *SendRecv)

func (*AppInstSend) Update

func (s *AppInstSend) Update(ctx context.Context, obj *edgeproto.AppInst, modRev int64)

func (*AppInstSend) UpdateAll

func (s *AppInstSend) UpdateAll(ctx context.Context)

func (*AppInstSend) UpdateAllOkLocked

func (s *AppInstSend) UpdateAllOkLocked(appInst *edgeproto.AppInst) bool

func (*AppInstSend) UpdateOk

func (s *AppInstSend) UpdateOk(ctx context.Context, appInst *edgeproto.AppInst) bool

type AppInstSendContext

type AppInstSendContext struct {
	// contains filtered or unexported fields
}

type AppInstSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewAppInstSendMany

func NewAppInstSendMany(handler SendAppInstHandler) *AppInstSendMany

func (*AppInstSendMany) DoneSend

func (s *AppInstSendMany) DoneSend(peerAddr string, send NotifySend)

func (*AppInstSendMany) GetTypeString

func (s *AppInstSendMany) GetTypeString() string

func (*AppInstSendMany) NewSend

func (s *AppInstSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*AppInstSendMany) Update

func (s *AppInstSendMany) Update(ctx context.Context, obj *edgeproto.AppInst, modRev int64)

type AppRecv

type AppRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewAppRecv

func NewAppRecv(handler RecvAppHandler) *AppRecv

func (*AppRecv) Flush

func (s *AppRecv) Flush(ctx context.Context, notifyId int64)

func (*AppRecv) GetMessageName

func (s *AppRecv) GetMessageName() string

func (*AppRecv) GetName

func (s *AppRecv) GetName() string

func (*AppRecv) GetRecvCount

func (s *AppRecv) GetRecvCount() uint64

func (*AppRecv) Recv

func (s *AppRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*AppRecv) RecvAllEnd

func (s *AppRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*AppRecv) RecvAllStart

func (s *AppRecv) RecvAllStart()

func (*AppRecv) SetSendRecv

func (s *AppRecv) SetSendRecv(sendrecv *SendRecv)

type AppRecvMany

type AppRecvMany struct {
	// contains filtered or unexported fields
}

func NewAppRecvMany

func NewAppRecvMany(handler RecvAppHandler) *AppRecvMany

func (*AppRecvMany) Flush

func (s *AppRecvMany) Flush(ctx context.Context, notifyId int64)

func (*AppRecvMany) NewRecv

func (s *AppRecvMany) NewRecv() NotifyRecv

type AppSend

type AppSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.AppKey]AppSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewAppSend

func NewAppSend(handler SendAppHandler) *AppSend

func (*AppSend) ForceDelete

func (s *AppSend) ForceDelete(ctx context.Context, key *edgeproto.AppKey, modRev int64)

func (*AppSend) GetMessageName

func (s *AppSend) GetMessageName() string

func (*AppSend) GetName

func (s *AppSend) GetName() string

func (*AppSend) GetNotifyId

func (s *AppSend) GetNotifyId() int64

func (*AppSend) GetSendCount

func (s *AppSend) GetSendCount() uint64

func (*AppSend) PrepData

func (s *AppSend) PrepData() bool

func (*AppSend) Send

func (s *AppSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*AppSend) SendForCloudlet

func (s *AppSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*AppSend) SetSendRecv

func (s *AppSend) SetSendRecv(sendrecv *SendRecv)

func (*AppSend) Update

func (s *AppSend) Update(ctx context.Context, obj *edgeproto.App, modRev int64)

func (*AppSend) UpdateAll

func (s *AppSend) UpdateAll(ctx context.Context)

func (*AppSend) UpdateAllOkLocked

func (s *AppSend) UpdateAllOkLocked(app *edgeproto.App) bool

func (*AppSend) UpdateOk

func (s *AppSend) UpdateOk(ctx context.Context, app *edgeproto.App) bool

type AppSendContext

type AppSendContext struct {
	// contains filtered or unexported fields
}

type AppSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewAppSendMany

func NewAppSendMany(handler SendAppHandler) *AppSendMany

func (*AppSendMany) DoneSend

func (s *AppSendMany) DoneSend(peerAddr string, send NotifySend)

func (*AppSendMany) GetTypeString

func (s *AppSendMany) GetTypeString() string

func (*AppSendMany) NewSend

func (s *AppSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*AppSendMany) Update

func (s *AppSendMany) Update(ctx context.Context, obj *edgeproto.App, modRev int64)

type AutoProvCountsRecv

type AutoProvCountsRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewAutoProvCountsRecv

func NewAutoProvCountsRecv(handler RecvAutoProvCountsHandler) *AutoProvCountsRecv

func (*AutoProvCountsRecv) GetMessageName

func (s *AutoProvCountsRecv) GetMessageName() string

func (*AutoProvCountsRecv) GetName

func (s *AutoProvCountsRecv) GetName() string

func (*AutoProvCountsRecv) GetRecvCount

func (s *AutoProvCountsRecv) GetRecvCount() uint64

func (*AutoProvCountsRecv) Recv

func (s *AutoProvCountsRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*AutoProvCountsRecv) RecvAllEnd

func (s *AutoProvCountsRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*AutoProvCountsRecv) RecvAllStart

func (s *AutoProvCountsRecv) RecvAllStart()

func (*AutoProvCountsRecv) SetSendRecv

func (s *AutoProvCountsRecv) SetSendRecv(sendrecv *SendRecv)

type AutoProvCountsRecvMany

type AutoProvCountsRecvMany struct {
	// contains filtered or unexported fields
}

func NewAutoProvCountsRecvMany

func NewAutoProvCountsRecvMany(handler RecvAutoProvCountsHandler) *AutoProvCountsRecvMany

func (*AutoProvCountsRecvMany) Flush

func (s *AutoProvCountsRecvMany) Flush(ctx context.Context, notifyId int64)

func (*AutoProvCountsRecvMany) NewRecv

func (s *AutoProvCountsRecvMany) NewRecv() NotifyRecv

type AutoProvCountsSend

type AutoProvCountsSend struct {
	Name        string
	MessageName string
	Data        []*edgeproto.AutoProvCounts

	Ctxs []context.Context

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewAutoProvCountsSend

func NewAutoProvCountsSend() *AutoProvCountsSend

func (*AutoProvCountsSend) GetMessageName

func (s *AutoProvCountsSend) GetMessageName() string

func (*AutoProvCountsSend) GetName

func (s *AutoProvCountsSend) GetName() string

func (*AutoProvCountsSend) GetNotifyId

func (s *AutoProvCountsSend) GetNotifyId() int64

func (*AutoProvCountsSend) GetSendCount

func (s *AutoProvCountsSend) GetSendCount() uint64

func (*AutoProvCountsSend) PrepData

func (s *AutoProvCountsSend) PrepData() bool

func (*AutoProvCountsSend) Send

func (s *AutoProvCountsSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*AutoProvCountsSend) SendForCloudlet

func (s *AutoProvCountsSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*AutoProvCountsSend) SetSendRecv

func (s *AutoProvCountsSend) SetSendRecv(sendrecv *SendRecv)

func (*AutoProvCountsSend) Update

func (*AutoProvCountsSend) UpdateAll

func (s *AutoProvCountsSend) UpdateAll(ctx context.Context)

type AutoProvCountsSendContext

type AutoProvCountsSendContext struct {
	// contains filtered or unexported fields
}

type AutoProvCountsSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewAutoProvCountsSendMany

func NewAutoProvCountsSendMany() *AutoProvCountsSendMany

func (*AutoProvCountsSendMany) DoneSend

func (s *AutoProvCountsSendMany) DoneSend(peerAddr string, send NotifySend)

func (*AutoProvCountsSendMany) GetTypeString

func (s *AutoProvCountsSendMany) GetTypeString() string

func (*AutoProvCountsSendMany) NewSend

func (s *AutoProvCountsSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*AutoProvCountsSendMany) Update

func (*AutoProvCountsSendMany) UpdateFiltered

type AutoProvInfoCacheHandler

type AutoProvInfoCacheHandler interface {
	SendAutoProvInfoHandler
	RecvAutoProvInfoHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.AutoProvInfo, modRev int64))
}

type AutoProvInfoRecv

type AutoProvInfoRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewAutoProvInfoRecv

func NewAutoProvInfoRecv(handler RecvAutoProvInfoHandler) *AutoProvInfoRecv

func (*AutoProvInfoRecv) Flush

func (s *AutoProvInfoRecv) Flush(ctx context.Context, notifyId int64)

func (*AutoProvInfoRecv) GetMessageName

func (s *AutoProvInfoRecv) GetMessageName() string

func (*AutoProvInfoRecv) GetName

func (s *AutoProvInfoRecv) GetName() string

func (*AutoProvInfoRecv) GetRecvCount

func (s *AutoProvInfoRecv) GetRecvCount() uint64

func (*AutoProvInfoRecv) Recv

func (s *AutoProvInfoRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*AutoProvInfoRecv) RecvAllEnd

func (s *AutoProvInfoRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*AutoProvInfoRecv) RecvAllStart

func (s *AutoProvInfoRecv) RecvAllStart()

func (*AutoProvInfoRecv) SetSendRecv

func (s *AutoProvInfoRecv) SetSendRecv(sendrecv *SendRecv)

type AutoProvInfoRecvMany

type AutoProvInfoRecvMany struct {
	// contains filtered or unexported fields
}

func NewAutoProvInfoRecvMany

func NewAutoProvInfoRecvMany(handler RecvAutoProvInfoHandler) *AutoProvInfoRecvMany

func (*AutoProvInfoRecvMany) Flush

func (s *AutoProvInfoRecvMany) Flush(ctx context.Context, notifyId int64)

func (*AutoProvInfoRecvMany) NewRecv

func (s *AutoProvInfoRecvMany) NewRecv() NotifyRecv

type AutoProvInfoSend

type AutoProvInfoSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.CloudletKey]AutoProvInfoSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewAutoProvInfoSend

func NewAutoProvInfoSend(handler SendAutoProvInfoHandler) *AutoProvInfoSend

func (*AutoProvInfoSend) ForceDelete

func (s *AutoProvInfoSend) ForceDelete(ctx context.Context, key *edgeproto.CloudletKey, modRev int64)

func (*AutoProvInfoSend) GetMessageName

func (s *AutoProvInfoSend) GetMessageName() string

func (*AutoProvInfoSend) GetName

func (s *AutoProvInfoSend) GetName() string

func (*AutoProvInfoSend) GetNotifyId

func (s *AutoProvInfoSend) GetNotifyId() int64

func (*AutoProvInfoSend) GetSendCount

func (s *AutoProvInfoSend) GetSendCount() uint64

func (*AutoProvInfoSend) PrepData

func (s *AutoProvInfoSend) PrepData() bool

func (*AutoProvInfoSend) Send

func (s *AutoProvInfoSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*AutoProvInfoSend) SendForCloudlet

func (s *AutoProvInfoSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*AutoProvInfoSend) SetSendRecv

func (s *AutoProvInfoSend) SetSendRecv(sendrecv *SendRecv)

func (*AutoProvInfoSend) Update

func (s *AutoProvInfoSend) Update(ctx context.Context, obj *edgeproto.AutoProvInfo, modRev int64)

func (*AutoProvInfoSend) UpdateAll

func (s *AutoProvInfoSend) UpdateAll(ctx context.Context)

type AutoProvInfoSendContext

type AutoProvInfoSendContext struct {
	// contains filtered or unexported fields
}

type AutoProvInfoSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewAutoProvInfoSendMany

func NewAutoProvInfoSendMany(handler SendAutoProvInfoHandler) *AutoProvInfoSendMany

func (*AutoProvInfoSendMany) DoneSend

func (s *AutoProvInfoSendMany) DoneSend(peerAddr string, send NotifySend)

func (*AutoProvInfoSendMany) GetTypeString

func (s *AutoProvInfoSendMany) GetTypeString() string

func (*AutoProvInfoSendMany) NewSend

func (s *AutoProvInfoSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*AutoProvInfoSendMany) Update

func (s *AutoProvInfoSendMany) Update(ctx context.Context, obj *edgeproto.AutoProvInfo, modRev int64)

type AutoProvPolicyCacheHandler

type AutoProvPolicyCacheHandler interface {
	SendAutoProvPolicyHandler
	RecvAutoProvPolicyHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.AutoProvPolicy, modRev int64))
}

type AutoProvPolicyRecv

type AutoProvPolicyRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewAutoProvPolicyRecv

func NewAutoProvPolicyRecv(handler RecvAutoProvPolicyHandler) *AutoProvPolicyRecv

func (*AutoProvPolicyRecv) Flush

func (s *AutoProvPolicyRecv) Flush(ctx context.Context, notifyId int64)

func (*AutoProvPolicyRecv) GetMessageName

func (s *AutoProvPolicyRecv) GetMessageName() string

func (*AutoProvPolicyRecv) GetName

func (s *AutoProvPolicyRecv) GetName() string

func (*AutoProvPolicyRecv) GetRecvCount

func (s *AutoProvPolicyRecv) GetRecvCount() uint64

func (*AutoProvPolicyRecv) Recv

func (s *AutoProvPolicyRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*AutoProvPolicyRecv) RecvAllEnd

func (s *AutoProvPolicyRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*AutoProvPolicyRecv) RecvAllStart

func (s *AutoProvPolicyRecv) RecvAllStart()

func (*AutoProvPolicyRecv) SetSendRecv

func (s *AutoProvPolicyRecv) SetSendRecv(sendrecv *SendRecv)

type AutoProvPolicyRecvMany

type AutoProvPolicyRecvMany struct {
	// contains filtered or unexported fields
}

func NewAutoProvPolicyRecvMany

func NewAutoProvPolicyRecvMany(handler RecvAutoProvPolicyHandler) *AutoProvPolicyRecvMany

func (*AutoProvPolicyRecvMany) Flush

func (s *AutoProvPolicyRecvMany) Flush(ctx context.Context, notifyId int64)

func (*AutoProvPolicyRecvMany) NewRecv

func (s *AutoProvPolicyRecvMany) NewRecv() NotifyRecv

type AutoProvPolicySend

type AutoProvPolicySend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.PolicyKey]AutoProvPolicySendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewAutoProvPolicySend

func NewAutoProvPolicySend(handler SendAutoProvPolicyHandler) *AutoProvPolicySend

func (*AutoProvPolicySend) ForceDelete

func (s *AutoProvPolicySend) ForceDelete(ctx context.Context, key *edgeproto.PolicyKey, modRev int64)

func (*AutoProvPolicySend) GetMessageName

func (s *AutoProvPolicySend) GetMessageName() string

func (*AutoProvPolicySend) GetName

func (s *AutoProvPolicySend) GetName() string

func (*AutoProvPolicySend) GetNotifyId

func (s *AutoProvPolicySend) GetNotifyId() int64

func (*AutoProvPolicySend) GetSendCount

func (s *AutoProvPolicySend) GetSendCount() uint64

func (*AutoProvPolicySend) PrepData

func (s *AutoProvPolicySend) PrepData() bool

func (*AutoProvPolicySend) Send

func (s *AutoProvPolicySend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*AutoProvPolicySend) SendForCloudlet

func (s *AutoProvPolicySend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*AutoProvPolicySend) SetSendRecv

func (s *AutoProvPolicySend) SetSendRecv(sendrecv *SendRecv)

func (*AutoProvPolicySend) Update

func (s *AutoProvPolicySend) Update(ctx context.Context, obj *edgeproto.AutoProvPolicy, modRev int64)

func (*AutoProvPolicySend) UpdateAll

func (s *AutoProvPolicySend) UpdateAll(ctx context.Context)

type AutoProvPolicySendContext

type AutoProvPolicySendContext struct {
	// contains filtered or unexported fields
}

type AutoProvPolicySendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewAutoProvPolicySendMany

func NewAutoProvPolicySendMany(handler SendAutoProvPolicyHandler) *AutoProvPolicySendMany

func (*AutoProvPolicySendMany) DoneSend

func (s *AutoProvPolicySendMany) DoneSend(peerAddr string, send NotifySend)

func (*AutoProvPolicySendMany) GetTypeString

func (s *AutoProvPolicySendMany) GetTypeString() string

func (*AutoProvPolicySendMany) NewSend

func (s *AutoProvPolicySendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*AutoProvPolicySendMany) Update

func (s *AutoProvPolicySendMany) Update(ctx context.Context, obj *edgeproto.AutoProvPolicy, modRev int64)

type AutoScalePolicyCacheHandler

type AutoScalePolicyCacheHandler interface {
	SendAutoScalePolicyHandler
	RecvAutoScalePolicyHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.AutoScalePolicy, modRev int64))
}

type AutoScalePolicyRecv

type AutoScalePolicyRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewAutoScalePolicyRecv

func NewAutoScalePolicyRecv(handler RecvAutoScalePolicyHandler) *AutoScalePolicyRecv

func (*AutoScalePolicyRecv) Flush

func (s *AutoScalePolicyRecv) Flush(ctx context.Context, notifyId int64)

func (*AutoScalePolicyRecv) GetMessageName

func (s *AutoScalePolicyRecv) GetMessageName() string

func (*AutoScalePolicyRecv) GetName

func (s *AutoScalePolicyRecv) GetName() string

func (*AutoScalePolicyRecv) GetRecvCount

func (s *AutoScalePolicyRecv) GetRecvCount() uint64

func (*AutoScalePolicyRecv) Recv

func (s *AutoScalePolicyRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*AutoScalePolicyRecv) RecvAllEnd

func (s *AutoScalePolicyRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*AutoScalePolicyRecv) RecvAllStart

func (s *AutoScalePolicyRecv) RecvAllStart()

func (*AutoScalePolicyRecv) SetSendRecv

func (s *AutoScalePolicyRecv) SetSendRecv(sendrecv *SendRecv)

type AutoScalePolicyRecvMany

type AutoScalePolicyRecvMany struct {
	// contains filtered or unexported fields
}

func NewAutoScalePolicyRecvMany

func NewAutoScalePolicyRecvMany(handler RecvAutoScalePolicyHandler) *AutoScalePolicyRecvMany

func (*AutoScalePolicyRecvMany) Flush

func (s *AutoScalePolicyRecvMany) Flush(ctx context.Context, notifyId int64)

func (*AutoScalePolicyRecvMany) NewRecv

func (s *AutoScalePolicyRecvMany) NewRecv() NotifyRecv

type AutoScalePolicySend

type AutoScalePolicySend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.PolicyKey]AutoScalePolicySendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewAutoScalePolicySend

func NewAutoScalePolicySend(handler SendAutoScalePolicyHandler) *AutoScalePolicySend

func (*AutoScalePolicySend) ForceDelete

func (s *AutoScalePolicySend) ForceDelete(ctx context.Context, key *edgeproto.PolicyKey, modRev int64)

func (*AutoScalePolicySend) GetMessageName

func (s *AutoScalePolicySend) GetMessageName() string

func (*AutoScalePolicySend) GetName

func (s *AutoScalePolicySend) GetName() string

func (*AutoScalePolicySend) GetNotifyId

func (s *AutoScalePolicySend) GetNotifyId() int64

func (*AutoScalePolicySend) GetSendCount

func (s *AutoScalePolicySend) GetSendCount() uint64

func (*AutoScalePolicySend) PrepData

func (s *AutoScalePolicySend) PrepData() bool

func (*AutoScalePolicySend) Send

func (s *AutoScalePolicySend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*AutoScalePolicySend) SendForCloudlet

func (s *AutoScalePolicySend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*AutoScalePolicySend) SetSendRecv

func (s *AutoScalePolicySend) SetSendRecv(sendrecv *SendRecv)

func (*AutoScalePolicySend) Update

func (s *AutoScalePolicySend) Update(ctx context.Context, obj *edgeproto.AutoScalePolicy, modRev int64)

func (*AutoScalePolicySend) UpdateAll

func (s *AutoScalePolicySend) UpdateAll(ctx context.Context)

type AutoScalePolicySendContext

type AutoScalePolicySendContext struct {
	// contains filtered or unexported fields
}

type AutoScalePolicySendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewAutoScalePolicySendMany

func NewAutoScalePolicySendMany(handler SendAutoScalePolicyHandler) *AutoScalePolicySendMany

func (*AutoScalePolicySendMany) DoneSend

func (s *AutoScalePolicySendMany) DoneSend(peerAddr string, send NotifySend)

func (*AutoScalePolicySendMany) GetTypeString

func (s *AutoScalePolicySendMany) GetTypeString() string

func (*AutoScalePolicySendMany) NewSend

func (s *AutoScalePolicySendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*AutoScalePolicySendMany) Update

type CacheType

type CacheType int

func (CacheType) String

func (c CacheType) String() string

type Cleanup

type Cleanup int

There are two ways to clean up stale cache entries. On Servers, which can handle multiple clients sending it the same types of objects, we delete objects when a client disconnects (Flush). Only objects associated with the disconnected client are flushed. On clients, which only connect to one server, and want to keep a cache of what the server sent even when disconnected, we maintain the cache after disconnect, but Prune stale entries after reconnect and receiving the SendAllEnd message. All entries not sent by the server are pruned (deleted).

const (
	CleanupPrune Cleanup = iota
	CleanupFlush
)

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(name string, addrs []string, tlsDialOption grpc.DialOption, ops ...ClientOp) *Client

func (*Client) GetLocalAddr

func (s *Client) GetLocalAddr() string

func (*Client) GetServerAddr

func (s *Client) GetServerAddr() string

func (*Client) GetState

func (s *Client) GetState() *ClientState

func (*Client) GetStats

func (s *Client) GetStats(stats *Stats)

func (*Client) RegisterRecv

func (s *Client) RegisterRecv(recv NotifyRecv)

func (*Client) RegisterRecvAlertCache

func (s *Client) RegisterRecvAlertCache(cache AlertCacheHandler)

func (*Client) RegisterRecvAlertPolicyCache

func (s *Client) RegisterRecvAlertPolicyCache(cache AlertPolicyCacheHandler)

func (*Client) RegisterRecvAppCache

func (s *Client) RegisterRecvAppCache(cache AppCacheHandler)

func (*Client) RegisterRecvAppInstCache

func (s *Client) RegisterRecvAppInstCache(cache AppInstCacheHandler)

func (*Client) RegisterRecvAppInstClientKeyCache

func (s *Client) RegisterRecvAppInstClientKeyCache(cache AppInstClientKeyCacheHandler)

func (*Client) RegisterRecvAppInstInfoCache

func (s *Client) RegisterRecvAppInstInfoCache(cache AppInstInfoCacheHandler)

func (*Client) RegisterRecvAppInstRefsCache

func (s *Client) RegisterRecvAppInstRefsCache(cache AppInstRefsCacheHandler)

func (*Client) RegisterRecvAutoProvInfoCache

func (s *Client) RegisterRecvAutoProvInfoCache(cache AutoProvInfoCacheHandler)

func (*Client) RegisterRecvAutoProvPolicyCache

func (s *Client) RegisterRecvAutoProvPolicyCache(cache AutoProvPolicyCacheHandler)

func (*Client) RegisterRecvAutoScalePolicyCache

func (s *Client) RegisterRecvAutoScalePolicyCache(cache AutoScalePolicyCacheHandler)

func (*Client) RegisterRecvCloudletCache

func (s *Client) RegisterRecvCloudletCache(cache CloudletCacheHandler)

func (*Client) RegisterRecvCloudletInfoCache

func (s *Client) RegisterRecvCloudletInfoCache(cache CloudletInfoCacheHandler)

func (*Client) RegisterRecvCloudletInternalCache

func (s *Client) RegisterRecvCloudletInternalCache(cache CloudletInternalCacheHandler)

func (*Client) RegisterRecvCloudletNodeCache

func (s *Client) RegisterRecvCloudletNodeCache(cache CloudletNodeCacheHandler)

func (*Client) RegisterRecvCloudletPoolCache

func (s *Client) RegisterRecvCloudletPoolCache(cache CloudletPoolCacheHandler)

func (*Client) RegisterRecvClusterInstCache

func (s *Client) RegisterRecvClusterInstCache(cache ClusterInstCacheHandler)

func (*Client) RegisterRecvClusterInstInfoCache

func (s *Client) RegisterRecvClusterInstInfoCache(cache ClusterInstInfoCacheHandler)

func (*Client) RegisterRecvClusterRefsCache

func (s *Client) RegisterRecvClusterRefsCache(cache ClusterRefsCacheHandler)

func (*Client) RegisterRecvDeviceCache

func (s *Client) RegisterRecvDeviceCache(cache DeviceCacheHandler)

func (*Client) RegisterRecvFlavorCache

func (s *Client) RegisterRecvFlavorCache(cache FlavorCacheHandler)

func (*Client) RegisterRecvFlowRateLimitSettingsCache

func (s *Client) RegisterRecvFlowRateLimitSettingsCache(cache FlowRateLimitSettingsCacheHandler)

func (*Client) RegisterRecvGPUDriverCache

func (s *Client) RegisterRecvGPUDriverCache(cache GPUDriverCacheHandler)

func (*Client) RegisterRecvMaxReqsRateLimitSettingsCache

func (s *Client) RegisterRecvMaxReqsRateLimitSettingsCache(cache MaxReqsRateLimitSettingsCacheHandler)

func (*Client) RegisterRecvNetworkCache

func (s *Client) RegisterRecvNetworkCache(cache NetworkCacheHandler)

func (*Client) RegisterRecvNodeCache

func (s *Client) RegisterRecvNodeCache(cache NodeCacheHandler)

func (*Client) RegisterRecvOperatorCodeCache

func (s *Client) RegisterRecvOperatorCodeCache(cache OperatorCodeCacheHandler)

func (*Client) RegisterRecvPlatformFeaturesCache

func (s *Client) RegisterRecvPlatformFeaturesCache(cache PlatformFeaturesCacheHandler)

func (*Client) RegisterRecvResTagTableCache

func (s *Client) RegisterRecvResTagTableCache(cache ResTagTableCacheHandler)

func (*Client) RegisterRecvSettingsCache

func (s *Client) RegisterRecvSettingsCache(cache SettingsCacheHandler)

func (*Client) RegisterRecvTPEInstanceStateCache

func (s *Client) RegisterRecvTPEInstanceStateCache(cache TPEInstanceStateCacheHandler)

func (*Client) RegisterRecvTrustPolicyCache

func (s *Client) RegisterRecvTrustPolicyCache(cache TrustPolicyCacheHandler)

func (*Client) RegisterRecvTrustPolicyExceptionCache

func (s *Client) RegisterRecvTrustPolicyExceptionCache(cache TrustPolicyExceptionCacheHandler)

func (*Client) RegisterRecvVMPoolCache

func (s *Client) RegisterRecvVMPoolCache(cache VMPoolCacheHandler)

func (*Client) RegisterRecvVMPoolInfoCache

func (s *Client) RegisterRecvVMPoolInfoCache(cache VMPoolInfoCacheHandler)

func (*Client) RegisterSend

func (s *Client) RegisterSend(send NotifySend)

func (*Client) RegisterSendAlertCache

func (s *Client) RegisterSendAlertCache(cache AlertCacheHandler)

func (*Client) RegisterSendAlertPolicyCache

func (s *Client) RegisterSendAlertPolicyCache(cache AlertPolicyCacheHandler)

func (*Client) RegisterSendAllRecv

func (s *Client) RegisterSendAllRecv(handler SendAllRecv)

func (*Client) RegisterSendAppCache

func (s *Client) RegisterSendAppCache(cache AppCacheHandler)

func (*Client) RegisterSendAppInstCache

func (s *Client) RegisterSendAppInstCache(cache AppInstCacheHandler)

func (*Client) RegisterSendAppInstClientKeyCache

func (s *Client) RegisterSendAppInstClientKeyCache(cache AppInstClientKeyCacheHandler)

func (*Client) RegisterSendAppInstInfoCache

func (s *Client) RegisterSendAppInstInfoCache(cache AppInstInfoCacheHandler)

func (*Client) RegisterSendAppInstRefsCache

func (s *Client) RegisterSendAppInstRefsCache(cache AppInstRefsCacheHandler)

func (*Client) RegisterSendAutoProvInfoCache

func (s *Client) RegisterSendAutoProvInfoCache(cache AutoProvInfoCacheHandler)

func (*Client) RegisterSendAutoProvPolicyCache

func (s *Client) RegisterSendAutoProvPolicyCache(cache AutoProvPolicyCacheHandler)

func (*Client) RegisterSendAutoScalePolicyCache

func (s *Client) RegisterSendAutoScalePolicyCache(cache AutoScalePolicyCacheHandler)

func (*Client) RegisterSendCloudletCache

func (s *Client) RegisterSendCloudletCache(cache CloudletCacheHandler)

func (*Client) RegisterSendCloudletInfoCache

func (s *Client) RegisterSendCloudletInfoCache(cache CloudletInfoCacheHandler)

func (*Client) RegisterSendCloudletInternalCache

func (s *Client) RegisterSendCloudletInternalCache(cache CloudletInternalCacheHandler)

func (*Client) RegisterSendCloudletNodeCache

func (s *Client) RegisterSendCloudletNodeCache(cache CloudletNodeCacheHandler)

func (*Client) RegisterSendCloudletPoolCache

func (s *Client) RegisterSendCloudletPoolCache(cache CloudletPoolCacheHandler)

func (*Client) RegisterSendClusterInstCache

func (s *Client) RegisterSendClusterInstCache(cache ClusterInstCacheHandler)

func (*Client) RegisterSendClusterInstInfoCache

func (s *Client) RegisterSendClusterInstInfoCache(cache ClusterInstInfoCacheHandler)

func (*Client) RegisterSendClusterRefsCache

func (s *Client) RegisterSendClusterRefsCache(cache ClusterRefsCacheHandler)

func (*Client) RegisterSendDeviceCache

func (s *Client) RegisterSendDeviceCache(cache DeviceCacheHandler)

func (*Client) RegisterSendFlavorCache

func (s *Client) RegisterSendFlavorCache(cache FlavorCacheHandler)

func (*Client) RegisterSendFlowRateLimitSettingsCache

func (s *Client) RegisterSendFlowRateLimitSettingsCache(cache FlowRateLimitSettingsCacheHandler)

func (*Client) RegisterSendGPUDriverCache

func (s *Client) RegisterSendGPUDriverCache(cache GPUDriverCacheHandler)

func (*Client) RegisterSendMaxReqsRateLimitSettingsCache

func (s *Client) RegisterSendMaxReqsRateLimitSettingsCache(cache MaxReqsRateLimitSettingsCacheHandler)

func (*Client) RegisterSendNetworkCache

func (s *Client) RegisterSendNetworkCache(cache NetworkCacheHandler)

func (*Client) RegisterSendNodeCache

func (s *Client) RegisterSendNodeCache(cache NodeCacheHandler)

func (*Client) RegisterSendOperatorCodeCache

func (s *Client) RegisterSendOperatorCodeCache(cache OperatorCodeCacheHandler)

func (*Client) RegisterSendPlatformFeaturesCache

func (s *Client) RegisterSendPlatformFeaturesCache(cache PlatformFeaturesCacheHandler)

func (*Client) RegisterSendResTagTableCache

func (s *Client) RegisterSendResTagTableCache(cache ResTagTableCacheHandler)

func (*Client) RegisterSendSettingsCache

func (s *Client) RegisterSendSettingsCache(cache SettingsCacheHandler)

func (*Client) RegisterSendTPEInstanceStateCache

func (s *Client) RegisterSendTPEInstanceStateCache(cache TPEInstanceStateCacheHandler)

func (*Client) RegisterSendTrustPolicyCache

func (s *Client) RegisterSendTrustPolicyCache(cache TrustPolicyCacheHandler)

func (*Client) RegisterSendTrustPolicyExceptionCache

func (s *Client) RegisterSendTrustPolicyExceptionCache(cache TrustPolicyExceptionCacheHandler)

func (*Client) RegisterSendVMPoolCache

func (s *Client) RegisterSendVMPoolCache(cache VMPoolCacheHandler)

func (*Client) RegisterSendVMPoolInfoCache

func (s *Client) RegisterSendVMPoolInfoCache(cache VMPoolInfoCacheHandler)

func (*Client) SetFilterByCloudletKey

func (s *Client) SetFilterByCloudletKey()

func (*Client) SetFilterByFederatedCloudlet

func (s *Client) SetFilterByFederatedCloudlet()

func (*Client) SetLocalAddr

func (s *Client) SetLocalAddr(addr string)

func (*Client) Start

func (s *Client) Start()

func (*Client) Stop

func (s *Client) Stop()

func (*Client) WaitForConnect

func (s *Client) WaitForConnect(connect uint64) error

func (*Client) WaitForSendAllEnd

func (s *Client) WaitForSendAllEnd(count uint64) error

type ClientOp

type ClientOp func(s *ClientOptions)

func ClientStreamInterceptors

func ClientStreamInterceptors(i ...grpc.StreamClientInterceptor) ClientOp

func ClientUnaryInterceptors

func ClientUnaryInterceptors(i ...grpc.UnaryClientInterceptor) ClientOp

type ClientOptions

type ClientOptions struct {
	// contains filtered or unexported fields
}

type ClientState

type ClientState struct {
	Name              string
	Peer              string
	NegotiatedVersion uint32
	Stats             Stats
}

type ClientStats

type ClientStats struct {
}

type CloudletCacheHandler

type CloudletCacheHandler interface {
	SendCloudletHandler
	RecvCloudletHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.Cloudlet, modRev int64))
}

type CloudletInfoCacheHandler

type CloudletInfoCacheHandler interface {
	SendCloudletInfoHandler
	RecvCloudletInfoHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.CloudletInfo, modRev int64))
}

type CloudletInfoRecv

type CloudletInfoRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewCloudletInfoRecv

func NewCloudletInfoRecv(handler RecvCloudletInfoHandler) *CloudletInfoRecv

func (*CloudletInfoRecv) Flush

func (s *CloudletInfoRecv) Flush(ctx context.Context, notifyId int64)

func (*CloudletInfoRecv) GetMessageName

func (s *CloudletInfoRecv) GetMessageName() string

func (*CloudletInfoRecv) GetName

func (s *CloudletInfoRecv) GetName() string

func (*CloudletInfoRecv) GetRecvCount

func (s *CloudletInfoRecv) GetRecvCount() uint64

func (*CloudletInfoRecv) Recv

func (s *CloudletInfoRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*CloudletInfoRecv) RecvAllEnd

func (s *CloudletInfoRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*CloudletInfoRecv) RecvAllStart

func (s *CloudletInfoRecv) RecvAllStart()

func (*CloudletInfoRecv) RecvHook

func (s *CloudletInfoRecv) RecvHook(ctx context.Context, notice *edgeproto.Notice, buf *edgeproto.CloudletInfo, peerAddr string)

func (*CloudletInfoRecv) SetSendRecv

func (s *CloudletInfoRecv) SetSendRecv(sendrecv *SendRecv)

type CloudletInfoRecvMany

type CloudletInfoRecvMany struct {
	// contains filtered or unexported fields
}

func NewCloudletInfoRecvMany

func NewCloudletInfoRecvMany(handler RecvCloudletInfoHandler) *CloudletInfoRecvMany

func (*CloudletInfoRecvMany) Flush

func (s *CloudletInfoRecvMany) Flush(ctx context.Context, notifyId int64)

func (*CloudletInfoRecvMany) NewRecv

func (s *CloudletInfoRecvMany) NewRecv() NotifyRecv

type CloudletInfoSend

type CloudletInfoSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.CloudletKey]CloudletInfoSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewCloudletInfoSend

func NewCloudletInfoSend(handler SendCloudletInfoHandler) *CloudletInfoSend

func (*CloudletInfoSend) ForceDelete

func (s *CloudletInfoSend) ForceDelete(ctx context.Context, key *edgeproto.CloudletKey, modRev int64)

func (*CloudletInfoSend) GetMessageName

func (s *CloudletInfoSend) GetMessageName() string

func (*CloudletInfoSend) GetName

func (s *CloudletInfoSend) GetName() string

func (*CloudletInfoSend) GetNotifyId

func (s *CloudletInfoSend) GetNotifyId() int64

func (*CloudletInfoSend) GetSendCount

func (s *CloudletInfoSend) GetSendCount() uint64

func (*CloudletInfoSend) PrepData

func (s *CloudletInfoSend) PrepData() bool

func (*CloudletInfoSend) Send

func (s *CloudletInfoSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*CloudletInfoSend) SendForCloudlet

func (s *CloudletInfoSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*CloudletInfoSend) SetSendRecv

func (s *CloudletInfoSend) SetSendRecv(sendrecv *SendRecv)

func (*CloudletInfoSend) Update

func (s *CloudletInfoSend) Update(ctx context.Context, obj *edgeproto.CloudletInfo, modRev int64)

func (*CloudletInfoSend) UpdateAll

func (s *CloudletInfoSend) UpdateAll(ctx context.Context)

type CloudletInfoSendContext

type CloudletInfoSendContext struct {
	// contains filtered or unexported fields
}

type CloudletInfoSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewCloudletInfoSendMany

func NewCloudletInfoSendMany(handler SendCloudletInfoHandler) *CloudletInfoSendMany

func (*CloudletInfoSendMany) DoneSend

func (s *CloudletInfoSendMany) DoneSend(peerAddr string, send NotifySend)

func (*CloudletInfoSendMany) GetTypeString

func (s *CloudletInfoSendMany) GetTypeString() string

func (*CloudletInfoSendMany) NewSend

func (s *CloudletInfoSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*CloudletInfoSendMany) Update

func (s *CloudletInfoSendMany) Update(ctx context.Context, obj *edgeproto.CloudletInfo, modRev int64)

type CloudletInternalCacheHandler

type CloudletInternalCacheHandler interface {
	SendCloudletInternalHandler
	RecvCloudletInternalHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.CloudletInternal, modRev int64))
}

type CloudletInternalRecv

type CloudletInternalRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewCloudletInternalRecv

func NewCloudletInternalRecv(handler RecvCloudletInternalHandler) *CloudletInternalRecv

func (*CloudletInternalRecv) Flush

func (s *CloudletInternalRecv) Flush(ctx context.Context, notifyId int64)

func (*CloudletInternalRecv) GetMessageName

func (s *CloudletInternalRecv) GetMessageName() string

func (*CloudletInternalRecv) GetName

func (s *CloudletInternalRecv) GetName() string

func (*CloudletInternalRecv) GetRecvCount

func (s *CloudletInternalRecv) GetRecvCount() uint64

func (*CloudletInternalRecv) Recv

func (s *CloudletInternalRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*CloudletInternalRecv) RecvAllEnd

func (s *CloudletInternalRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*CloudletInternalRecv) RecvAllStart

func (s *CloudletInternalRecv) RecvAllStart()

func (*CloudletInternalRecv) SetSendRecv

func (s *CloudletInternalRecv) SetSendRecv(sendrecv *SendRecv)

type CloudletInternalRecvMany

type CloudletInternalRecvMany struct {
	// contains filtered or unexported fields
}

func (*CloudletInternalRecvMany) Flush

func (s *CloudletInternalRecvMany) Flush(ctx context.Context, notifyId int64)

func (*CloudletInternalRecvMany) NewRecv

func (s *CloudletInternalRecvMany) NewRecv() NotifyRecv

type CloudletInternalSend

type CloudletInternalSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.CloudletKey]CloudletInternalSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewCloudletInternalSend

func NewCloudletInternalSend(handler SendCloudletInternalHandler) *CloudletInternalSend

func (*CloudletInternalSend) ForceDelete

func (s *CloudletInternalSend) ForceDelete(ctx context.Context, key *edgeproto.CloudletKey, modRev int64)

func (*CloudletInternalSend) GetMessageName

func (s *CloudletInternalSend) GetMessageName() string

func (*CloudletInternalSend) GetName

func (s *CloudletInternalSend) GetName() string

func (*CloudletInternalSend) GetNotifyId

func (s *CloudletInternalSend) GetNotifyId() int64

func (*CloudletInternalSend) GetSendCount

func (s *CloudletInternalSend) GetSendCount() uint64

func (*CloudletInternalSend) PrepData

func (s *CloudletInternalSend) PrepData() bool

func (*CloudletInternalSend) Send

func (s *CloudletInternalSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*CloudletInternalSend) SendForCloudlet

func (s *CloudletInternalSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*CloudletInternalSend) SetSendRecv

func (s *CloudletInternalSend) SetSendRecv(sendrecv *SendRecv)

func (*CloudletInternalSend) Update

func (s *CloudletInternalSend) Update(ctx context.Context, obj *edgeproto.CloudletInternal, modRev int64)

func (*CloudletInternalSend) UpdateAll

func (s *CloudletInternalSend) UpdateAll(ctx context.Context)

type CloudletInternalSendContext

type CloudletInternalSendContext struct {
	// contains filtered or unexported fields
}

type CloudletInternalSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func (*CloudletInternalSendMany) DoneSend

func (s *CloudletInternalSendMany) DoneSend(peerAddr string, send NotifySend)

func (*CloudletInternalSendMany) GetTypeString

func (s *CloudletInternalSendMany) GetTypeString() string

func (*CloudletInternalSendMany) NewSend

func (s *CloudletInternalSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*CloudletInternalSendMany) Update

type CloudletNodeCacheHandler

type CloudletNodeCacheHandler interface {
	SendCloudletNodeHandler
	RecvCloudletNodeHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.CloudletNode, modRev int64))
}

type CloudletNodeRecv

type CloudletNodeRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewCloudletNodeRecv

func NewCloudletNodeRecv(handler RecvCloudletNodeHandler) *CloudletNodeRecv

func (*CloudletNodeRecv) Flush

func (s *CloudletNodeRecv) Flush(ctx context.Context, notifyId int64)

func (*CloudletNodeRecv) GetMessageName

func (s *CloudletNodeRecv) GetMessageName() string

func (*CloudletNodeRecv) GetName

func (s *CloudletNodeRecv) GetName() string

func (*CloudletNodeRecv) GetRecvCount

func (s *CloudletNodeRecv) GetRecvCount() uint64

func (*CloudletNodeRecv) Recv

func (s *CloudletNodeRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*CloudletNodeRecv) RecvAllEnd

func (s *CloudletNodeRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*CloudletNodeRecv) RecvAllStart

func (s *CloudletNodeRecv) RecvAllStart()

func (*CloudletNodeRecv) SetSendRecv

func (s *CloudletNodeRecv) SetSendRecv(sendrecv *SendRecv)

type CloudletNodeRecvMany

type CloudletNodeRecvMany struct {
	// contains filtered or unexported fields
}

func NewCloudletNodeRecvMany

func NewCloudletNodeRecvMany(handler RecvCloudletNodeHandler) *CloudletNodeRecvMany

func (*CloudletNodeRecvMany) Flush

func (s *CloudletNodeRecvMany) Flush(ctx context.Context, notifyId int64)

func (*CloudletNodeRecvMany) NewRecv

func (s *CloudletNodeRecvMany) NewRecv() NotifyRecv

type CloudletNodeSend

type CloudletNodeSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.CloudletNodeKey]CloudletNodeSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewCloudletNodeSend

func NewCloudletNodeSend(handler SendCloudletNodeHandler) *CloudletNodeSend

func (*CloudletNodeSend) ForceDelete

func (s *CloudletNodeSend) ForceDelete(ctx context.Context, key *edgeproto.CloudletNodeKey, modRev int64)

func (*CloudletNodeSend) GetMessageName

func (s *CloudletNodeSend) GetMessageName() string

func (*CloudletNodeSend) GetName

func (s *CloudletNodeSend) GetName() string

func (*CloudletNodeSend) GetNotifyId

func (s *CloudletNodeSend) GetNotifyId() int64

func (*CloudletNodeSend) GetSendCount

func (s *CloudletNodeSend) GetSendCount() uint64

func (*CloudletNodeSend) PrepData

func (s *CloudletNodeSend) PrepData() bool

func (*CloudletNodeSend) Send

func (s *CloudletNodeSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*CloudletNodeSend) SendForCloudlet

func (s *CloudletNodeSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*CloudletNodeSend) SetSendRecv

func (s *CloudletNodeSend) SetSendRecv(sendrecv *SendRecv)

func (*CloudletNodeSend) Update

func (s *CloudletNodeSend) Update(ctx context.Context, obj *edgeproto.CloudletNode, modRev int64)

func (*CloudletNodeSend) UpdateAll

func (s *CloudletNodeSend) UpdateAll(ctx context.Context)

type CloudletNodeSendContext

type CloudletNodeSendContext struct {
	// contains filtered or unexported fields
}

type CloudletNodeSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewCloudletNodeSendMany

func NewCloudletNodeSendMany(handler SendCloudletNodeHandler) *CloudletNodeSendMany

func (*CloudletNodeSendMany) DoneSend

func (s *CloudletNodeSendMany) DoneSend(peerAddr string, send NotifySend)

func (*CloudletNodeSendMany) GetTypeString

func (s *CloudletNodeSendMany) GetTypeString() string

func (*CloudletNodeSendMany) NewSend

func (s *CloudletNodeSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*CloudletNodeSendMany) Update

func (s *CloudletNodeSendMany) Update(ctx context.Context, obj *edgeproto.CloudletNode, modRev int64)

type CloudletPoolCacheHandler

type CloudletPoolCacheHandler interface {
	SendCloudletPoolHandler
	RecvCloudletPoolHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.CloudletPool, modRev int64))
}

type CloudletPoolRecv

type CloudletPoolRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewCloudletPoolRecv

func NewCloudletPoolRecv(handler RecvCloudletPoolHandler) *CloudletPoolRecv

func (*CloudletPoolRecv) Flush

func (s *CloudletPoolRecv) Flush(ctx context.Context, notifyId int64)

func (*CloudletPoolRecv) GetMessageName

func (s *CloudletPoolRecv) GetMessageName() string

func (*CloudletPoolRecv) GetName

func (s *CloudletPoolRecv) GetName() string

func (*CloudletPoolRecv) GetRecvCount

func (s *CloudletPoolRecv) GetRecvCount() uint64

func (*CloudletPoolRecv) Recv

func (s *CloudletPoolRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*CloudletPoolRecv) RecvAllEnd

func (s *CloudletPoolRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*CloudletPoolRecv) RecvAllStart

func (s *CloudletPoolRecv) RecvAllStart()

func (*CloudletPoolRecv) SetSendRecv

func (s *CloudletPoolRecv) SetSendRecv(sendrecv *SendRecv)

type CloudletPoolRecvMany

type CloudletPoolRecvMany struct {
	// contains filtered or unexported fields
}

func NewCloudletPoolRecvMany

func NewCloudletPoolRecvMany(handler RecvCloudletPoolHandler) *CloudletPoolRecvMany

func (*CloudletPoolRecvMany) Flush

func (s *CloudletPoolRecvMany) Flush(ctx context.Context, notifyId int64)

func (*CloudletPoolRecvMany) NewRecv

func (s *CloudletPoolRecvMany) NewRecv() NotifyRecv

type CloudletPoolSend

type CloudletPoolSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.CloudletPoolKey]CloudletPoolSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewCloudletPoolSend

func NewCloudletPoolSend(handler SendCloudletPoolHandler) *CloudletPoolSend

func (*CloudletPoolSend) ForceDelete

func (s *CloudletPoolSend) ForceDelete(ctx context.Context, key *edgeproto.CloudletPoolKey, modRev int64)

func (*CloudletPoolSend) GetMessageName

func (s *CloudletPoolSend) GetMessageName() string

func (*CloudletPoolSend) GetName

func (s *CloudletPoolSend) GetName() string

func (*CloudletPoolSend) GetNotifyId

func (s *CloudletPoolSend) GetNotifyId() int64

func (*CloudletPoolSend) GetSendCount

func (s *CloudletPoolSend) GetSendCount() uint64

func (*CloudletPoolSend) PrepData

func (s *CloudletPoolSend) PrepData() bool

func (*CloudletPoolSend) Send

func (s *CloudletPoolSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*CloudletPoolSend) SendForCloudlet

func (s *CloudletPoolSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*CloudletPoolSend) SetSendRecv

func (s *CloudletPoolSend) SetSendRecv(sendrecv *SendRecv)

func (*CloudletPoolSend) Update

func (s *CloudletPoolSend) Update(ctx context.Context, obj *edgeproto.CloudletPool, modRev int64)

func (*CloudletPoolSend) UpdateAll

func (s *CloudletPoolSend) UpdateAll(ctx context.Context)

type CloudletPoolSendContext

type CloudletPoolSendContext struct {
	// contains filtered or unexported fields
}

type CloudletPoolSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewCloudletPoolSendMany

func NewCloudletPoolSendMany(handler SendCloudletPoolHandler) *CloudletPoolSendMany

func (*CloudletPoolSendMany) DoneSend

func (s *CloudletPoolSendMany) DoneSend(peerAddr string, send NotifySend)

func (*CloudletPoolSendMany) GetTypeString

func (s *CloudletPoolSendMany) GetTypeString() string

func (*CloudletPoolSendMany) NewSend

func (s *CloudletPoolSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*CloudletPoolSendMany) Update

func (s *CloudletPoolSendMany) Update(ctx context.Context, obj *edgeproto.CloudletPool, modRev int64)

type CloudletRecv

type CloudletRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewCloudletRecv

func NewCloudletRecv(handler RecvCloudletHandler) *CloudletRecv

func (*CloudletRecv) Flush

func (s *CloudletRecv) Flush(ctx context.Context, notifyId int64)

func (*CloudletRecv) GetMessageName

func (s *CloudletRecv) GetMessageName() string

func (*CloudletRecv) GetName

func (s *CloudletRecv) GetName() string

func (*CloudletRecv) GetRecvCount

func (s *CloudletRecv) GetRecvCount() uint64

func (*CloudletRecv) Recv

func (s *CloudletRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*CloudletRecv) RecvAllEnd

func (s *CloudletRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*CloudletRecv) RecvAllStart

func (s *CloudletRecv) RecvAllStart()

func (*CloudletRecv) RecvHook

func (s *CloudletRecv) RecvHook(ctx context.Context, notice *edgeproto.Notice, buf *edgeproto.Cloudlet, perrAddr string)

func (*CloudletRecv) SetSendRecv

func (s *CloudletRecv) SetSendRecv(sendrecv *SendRecv)

type CloudletRecvMany

type CloudletRecvMany struct {
	// contains filtered or unexported fields
}

func NewCloudletRecvMany

func NewCloudletRecvMany(handler RecvCloudletHandler) *CloudletRecvMany

func (*CloudletRecvMany) Flush

func (s *CloudletRecvMany) Flush(ctx context.Context, notifyId int64)

func (*CloudletRecvMany) NewRecv

func (s *CloudletRecvMany) NewRecv() NotifyRecv

type CloudletSend

type CloudletSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.CloudletKey]CloudletSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewCloudletSend

func NewCloudletSend(handler SendCloudletHandler) *CloudletSend

func (*CloudletSend) ForceDelete

func (s *CloudletSend) ForceDelete(ctx context.Context, key *edgeproto.CloudletKey, modRev int64)

func (*CloudletSend) GetMessageName

func (s *CloudletSend) GetMessageName() string

func (*CloudletSend) GetName

func (s *CloudletSend) GetName() string

func (*CloudletSend) GetNotifyId

func (s *CloudletSend) GetNotifyId() int64

func (*CloudletSend) GetSendCount

func (s *CloudletSend) GetSendCount() uint64

func (*CloudletSend) PrepData

func (s *CloudletSend) PrepData() bool

func (*CloudletSend) Send

func (s *CloudletSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*CloudletSend) SendForCloudlet

func (s *CloudletSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*CloudletSend) SetSendRecv

func (s *CloudletSend) SetSendRecv(sendrecv *SendRecv)

func (*CloudletSend) Update

func (s *CloudletSend) Update(ctx context.Context, obj *edgeproto.Cloudlet, modRev int64)

func (*CloudletSend) UpdateAll

func (s *CloudletSend) UpdateAll(ctx context.Context)

func (*CloudletSend) UpdateAllOkLocked

func (s *CloudletSend) UpdateAllOkLocked(cloudlet *edgeproto.Cloudlet) bool

func (*CloudletSend) UpdateOk

func (s *CloudletSend) UpdateOk(ctx context.Context, cloudlet *edgeproto.Cloudlet) bool

type CloudletSendContext

type CloudletSendContext struct {
	// contains filtered or unexported fields
}

type CloudletSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewCloudletSendMany

func NewCloudletSendMany(handler SendCloudletHandler) *CloudletSendMany

func (*CloudletSendMany) DoneSend

func (s *CloudletSendMany) DoneSend(peerAddr string, send NotifySend)

func (*CloudletSendMany) GetTypeString

func (s *CloudletSendMany) GetTypeString() string

func (*CloudletSendMany) NewSend

func (s *CloudletSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*CloudletSendMany) Update

func (s *CloudletSendMany) Update(ctx context.Context, obj *edgeproto.Cloudlet, modRev int64)

type ClusterInstCacheHandler

type ClusterInstCacheHandler interface {
	SendClusterInstHandler
	RecvClusterInstHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.ClusterInst, modRev int64))
}

type ClusterInstInfoCacheHandler

type ClusterInstInfoCacheHandler interface {
	SendClusterInstInfoHandler
	RecvClusterInstInfoHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.ClusterInstInfo, modRev int64))
}

type ClusterInstInfoRecv

type ClusterInstInfoRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewClusterInstInfoRecv

func NewClusterInstInfoRecv(handler RecvClusterInstInfoHandler) *ClusterInstInfoRecv

func (*ClusterInstInfoRecv) Flush

func (s *ClusterInstInfoRecv) Flush(ctx context.Context, notifyId int64)

func (*ClusterInstInfoRecv) GetMessageName

func (s *ClusterInstInfoRecv) GetMessageName() string

func (*ClusterInstInfoRecv) GetName

func (s *ClusterInstInfoRecv) GetName() string

func (*ClusterInstInfoRecv) GetRecvCount

func (s *ClusterInstInfoRecv) GetRecvCount() uint64

func (*ClusterInstInfoRecv) Recv

func (s *ClusterInstInfoRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*ClusterInstInfoRecv) RecvAllEnd

func (s *ClusterInstInfoRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*ClusterInstInfoRecv) RecvAllStart

func (s *ClusterInstInfoRecv) RecvAllStart()

func (*ClusterInstInfoRecv) SetSendRecv

func (s *ClusterInstInfoRecv) SetSendRecv(sendrecv *SendRecv)

type ClusterInstInfoRecvMany

type ClusterInstInfoRecvMany struct {
	// contains filtered or unexported fields
}

func NewClusterInstInfoRecvMany

func NewClusterInstInfoRecvMany(handler RecvClusterInstInfoHandler) *ClusterInstInfoRecvMany

func (*ClusterInstInfoRecvMany) Flush

func (s *ClusterInstInfoRecvMany) Flush(ctx context.Context, notifyId int64)

func (*ClusterInstInfoRecvMany) NewRecv

func (s *ClusterInstInfoRecvMany) NewRecv() NotifyRecv

type ClusterInstInfoSend

type ClusterInstInfoSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.ClusterKey]ClusterInstInfoSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewClusterInstInfoSend

func NewClusterInstInfoSend(handler SendClusterInstInfoHandler) *ClusterInstInfoSend

func (*ClusterInstInfoSend) ForceDelete

func (s *ClusterInstInfoSend) ForceDelete(ctx context.Context, key *edgeproto.ClusterKey, modRev int64)

func (*ClusterInstInfoSend) GetMessageName

func (s *ClusterInstInfoSend) GetMessageName() string

func (*ClusterInstInfoSend) GetName

func (s *ClusterInstInfoSend) GetName() string

func (*ClusterInstInfoSend) GetNotifyId

func (s *ClusterInstInfoSend) GetNotifyId() int64

func (*ClusterInstInfoSend) GetSendCount

func (s *ClusterInstInfoSend) GetSendCount() uint64

func (*ClusterInstInfoSend) PrepData

func (s *ClusterInstInfoSend) PrepData() bool

func (*ClusterInstInfoSend) Send

func (s *ClusterInstInfoSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*ClusterInstInfoSend) SendForCloudlet

func (s *ClusterInstInfoSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*ClusterInstInfoSend) SetSendRecv

func (s *ClusterInstInfoSend) SetSendRecv(sendrecv *SendRecv)

func (*ClusterInstInfoSend) Update

func (s *ClusterInstInfoSend) Update(ctx context.Context, obj *edgeproto.ClusterInstInfo, modRev int64)

func (*ClusterInstInfoSend) UpdateAll

func (s *ClusterInstInfoSend) UpdateAll(ctx context.Context)

type ClusterInstInfoSendContext

type ClusterInstInfoSendContext struct {
	// contains filtered or unexported fields
}

type ClusterInstInfoSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewClusterInstInfoSendMany

func NewClusterInstInfoSendMany(handler SendClusterInstInfoHandler) *ClusterInstInfoSendMany

func (*ClusterInstInfoSendMany) DoneSend

func (s *ClusterInstInfoSendMany) DoneSend(peerAddr string, send NotifySend)

func (*ClusterInstInfoSendMany) GetTypeString

func (s *ClusterInstInfoSendMany) GetTypeString() string

func (*ClusterInstInfoSendMany) NewSend

func (s *ClusterInstInfoSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*ClusterInstInfoSendMany) Update

type ClusterInstRecv

type ClusterInstRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewClusterInstRecv

func NewClusterInstRecv(handler RecvClusterInstHandler) *ClusterInstRecv

func (*ClusterInstRecv) Flush

func (s *ClusterInstRecv) Flush(ctx context.Context, notifyId int64)

func (*ClusterInstRecv) GetMessageName

func (s *ClusterInstRecv) GetMessageName() string

func (*ClusterInstRecv) GetName

func (s *ClusterInstRecv) GetName() string

func (*ClusterInstRecv) GetRecvCount

func (s *ClusterInstRecv) GetRecvCount() uint64

func (*ClusterInstRecv) Recv

func (s *ClusterInstRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*ClusterInstRecv) RecvAllEnd

func (s *ClusterInstRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*ClusterInstRecv) RecvAllStart

func (s *ClusterInstRecv) RecvAllStart()

func (*ClusterInstRecv) SetSendRecv

func (s *ClusterInstRecv) SetSendRecv(sendrecv *SendRecv)

type ClusterInstRecvMany

type ClusterInstRecvMany struct {
	// contains filtered or unexported fields
}

func NewClusterInstRecvMany

func NewClusterInstRecvMany(handler RecvClusterInstHandler) *ClusterInstRecvMany

func (*ClusterInstRecvMany) Flush

func (s *ClusterInstRecvMany) Flush(ctx context.Context, notifyId int64)

func (*ClusterInstRecvMany) NewRecv

func (s *ClusterInstRecvMany) NewRecv() NotifyRecv

type ClusterInstSend

type ClusterInstSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.ClusterKey]ClusterInstSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewClusterInstSend

func NewClusterInstSend(handler SendClusterInstHandler) *ClusterInstSend

func (*ClusterInstSend) ForceDelete

func (s *ClusterInstSend) ForceDelete(ctx context.Context, key *edgeproto.ClusterKey, modRev int64)

func (*ClusterInstSend) GetMessageName

func (s *ClusterInstSend) GetMessageName() string

func (*ClusterInstSend) GetName

func (s *ClusterInstSend) GetName() string

func (*ClusterInstSend) GetNotifyId

func (s *ClusterInstSend) GetNotifyId() int64

func (*ClusterInstSend) GetSendCount

func (s *ClusterInstSend) GetSendCount() uint64

func (*ClusterInstSend) PrepData

func (s *ClusterInstSend) PrepData() bool

func (*ClusterInstSend) Send

func (s *ClusterInstSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*ClusterInstSend) SendForCloudlet

func (s *ClusterInstSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*ClusterInstSend) SetSendRecv

func (s *ClusterInstSend) SetSendRecv(sendrecv *SendRecv)

func (*ClusterInstSend) Update

func (s *ClusterInstSend) Update(ctx context.Context, obj *edgeproto.ClusterInst, modRev int64)

func (*ClusterInstSend) UpdateAll

func (s *ClusterInstSend) UpdateAll(ctx context.Context)

func (*ClusterInstSend) UpdateAllOkLocked

func (s *ClusterInstSend) UpdateAllOkLocked(clusterInst *edgeproto.ClusterInst) bool

func (*ClusterInstSend) UpdateOk

func (s *ClusterInstSend) UpdateOk(ctx context.Context, clusterInst *edgeproto.ClusterInst) bool

type ClusterInstSendContext

type ClusterInstSendContext struct {
	// contains filtered or unexported fields
}

type ClusterInstSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewClusterInstSendMany

func NewClusterInstSendMany(handler SendClusterInstHandler) *ClusterInstSendMany

func (*ClusterInstSendMany) DoneSend

func (s *ClusterInstSendMany) DoneSend(peerAddr string, send NotifySend)

func (*ClusterInstSendMany) GetTypeString

func (s *ClusterInstSendMany) GetTypeString() string

func (*ClusterInstSendMany) NewSend

func (s *ClusterInstSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*ClusterInstSendMany) Update

func (s *ClusterInstSendMany) Update(ctx context.Context, obj *edgeproto.ClusterInst, modRev int64)

type ClusterRefsCacheHandler

type ClusterRefsCacheHandler interface {
	SendClusterRefsHandler
	RecvClusterRefsHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.ClusterRefs, modRev int64))
}

type ClusterRefsRecv

type ClusterRefsRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewClusterRefsRecv

func NewClusterRefsRecv(handler RecvClusterRefsHandler) *ClusterRefsRecv

func (*ClusterRefsRecv) Flush

func (s *ClusterRefsRecv) Flush(ctx context.Context, notifyId int64)

func (*ClusterRefsRecv) GetMessageName

func (s *ClusterRefsRecv) GetMessageName() string

func (*ClusterRefsRecv) GetName

func (s *ClusterRefsRecv) GetName() string

func (*ClusterRefsRecv) GetRecvCount

func (s *ClusterRefsRecv) GetRecvCount() uint64

func (*ClusterRefsRecv) Recv

func (s *ClusterRefsRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*ClusterRefsRecv) RecvAllEnd

func (s *ClusterRefsRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*ClusterRefsRecv) RecvAllStart

func (s *ClusterRefsRecv) RecvAllStart()

func (*ClusterRefsRecv) SetSendRecv

func (s *ClusterRefsRecv) SetSendRecv(sendrecv *SendRecv)

type ClusterRefsRecvMany

type ClusterRefsRecvMany struct {
	// contains filtered or unexported fields
}

func NewClusterRefsRecvMany

func NewClusterRefsRecvMany(handler RecvClusterRefsHandler) *ClusterRefsRecvMany

func (*ClusterRefsRecvMany) Flush

func (s *ClusterRefsRecvMany) Flush(ctx context.Context, notifyId int64)

func (*ClusterRefsRecvMany) NewRecv

func (s *ClusterRefsRecvMany) NewRecv() NotifyRecv

type ClusterRefsSend

type ClusterRefsSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.ClusterKey]ClusterRefsSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewClusterRefsSend

func NewClusterRefsSend(handler SendClusterRefsHandler) *ClusterRefsSend

func (*ClusterRefsSend) ForceDelete

func (s *ClusterRefsSend) ForceDelete(ctx context.Context, key *edgeproto.ClusterKey, modRev int64)

func (*ClusterRefsSend) GetMessageName

func (s *ClusterRefsSend) GetMessageName() string

func (*ClusterRefsSend) GetName

func (s *ClusterRefsSend) GetName() string

func (*ClusterRefsSend) GetNotifyId

func (s *ClusterRefsSend) GetNotifyId() int64

func (*ClusterRefsSend) GetSendCount

func (s *ClusterRefsSend) GetSendCount() uint64

func (*ClusterRefsSend) PrepData

func (s *ClusterRefsSend) PrepData() bool

func (*ClusterRefsSend) Send

func (s *ClusterRefsSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*ClusterRefsSend) SendForCloudlet

func (s *ClusterRefsSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*ClusterRefsSend) SetSendRecv

func (s *ClusterRefsSend) SetSendRecv(sendrecv *SendRecv)

func (*ClusterRefsSend) Update

func (s *ClusterRefsSend) Update(ctx context.Context, obj *edgeproto.ClusterRefs, modRev int64)

func (*ClusterRefsSend) UpdateAll

func (s *ClusterRefsSend) UpdateAll(ctx context.Context)

type ClusterRefsSendContext

type ClusterRefsSendContext struct {
	// contains filtered or unexported fields
}

type ClusterRefsSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewClusterRefsSendMany

func NewClusterRefsSendMany(handler SendClusterRefsHandler) *ClusterRefsSendMany

func (*ClusterRefsSendMany) DoneSend

func (s *ClusterRefsSendMany) DoneSend(peerAddr string, send NotifySend)

func (*ClusterRefsSendMany) GetTypeString

func (s *ClusterRefsSendMany) GetTypeString() string

func (*ClusterRefsSendMany) NewSend

func (s *ClusterRefsSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*ClusterRefsSendMany) Update

func (s *ClusterRefsSendMany) Update(ctx context.Context, obj *edgeproto.ClusterRefs, modRev int64)

type ConnState

type ConnState struct {
	PeerName          string
	PeerAddr          string
	NegotiatedVersion uint32
	Stats             Stats
}

type DebugReplyRecv

type DebugReplyRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewDebugReplyRecv

func NewDebugReplyRecv(handler RecvDebugReplyHandler) *DebugReplyRecv

func (*DebugReplyRecv) GetMessageName

func (s *DebugReplyRecv) GetMessageName() string

func (*DebugReplyRecv) GetName

func (s *DebugReplyRecv) GetName() string

func (*DebugReplyRecv) GetRecvCount

func (s *DebugReplyRecv) GetRecvCount() uint64

func (*DebugReplyRecv) Recv

func (s *DebugReplyRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*DebugReplyRecv) RecvAllEnd

func (s *DebugReplyRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*DebugReplyRecv) RecvAllStart

func (s *DebugReplyRecv) RecvAllStart()

func (*DebugReplyRecv) SetSendRecv

func (s *DebugReplyRecv) SetSendRecv(sendrecv *SendRecv)

type DebugReplyRecvMany

type DebugReplyRecvMany struct {
	// contains filtered or unexported fields
}

func NewDebugReplyRecvMany

func NewDebugReplyRecvMany(handler RecvDebugReplyHandler) *DebugReplyRecvMany

func (*DebugReplyRecvMany) Flush

func (s *DebugReplyRecvMany) Flush(ctx context.Context, notifyId int64)

func (*DebugReplyRecvMany) NewRecv

func (s *DebugReplyRecvMany) NewRecv() NotifyRecv

type DebugReplySend

type DebugReplySend struct {
	Name        string
	MessageName string
	Data        []*edgeproto.DebugReply

	Ctxs []context.Context

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewDebugReplySend

func NewDebugReplySend() *DebugReplySend

func (*DebugReplySend) GetMessageName

func (s *DebugReplySend) GetMessageName() string

func (*DebugReplySend) GetName

func (s *DebugReplySend) GetName() string

func (*DebugReplySend) GetNotifyId

func (s *DebugReplySend) GetNotifyId() int64

func (*DebugReplySend) GetSendCount

func (s *DebugReplySend) GetSendCount() uint64

func (*DebugReplySend) PrepData

func (s *DebugReplySend) PrepData() bool

func (*DebugReplySend) Send

func (s *DebugReplySend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*DebugReplySend) SendForCloudlet

func (s *DebugReplySend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*DebugReplySend) SetSendRecv

func (s *DebugReplySend) SetSendRecv(sendrecv *SendRecv)

func (*DebugReplySend) Update

func (s *DebugReplySend) Update(ctx context.Context, msg *edgeproto.DebugReply) bool

func (*DebugReplySend) UpdateAll

func (s *DebugReplySend) UpdateAll(ctx context.Context)

type DebugReplySendContext

type DebugReplySendContext struct {
	// contains filtered or unexported fields
}

type DebugReplySendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewDebugReplySendMany

func NewDebugReplySendMany() *DebugReplySendMany

func (*DebugReplySendMany) DoneSend

func (s *DebugReplySendMany) DoneSend(peerAddr string, send NotifySend)

func (*DebugReplySendMany) GetTypeString

func (s *DebugReplySendMany) GetTypeString() string

func (*DebugReplySendMany) NewSend

func (s *DebugReplySendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*DebugReplySendMany) Update

func (*DebugReplySendMany) UpdateFiltered

func (s *DebugReplySendMany) UpdateFiltered(ctx context.Context, msg *edgeproto.DebugReply, sendOk func(ctx context.Context, send *DebugReplySend, msg *edgeproto.DebugReply) bool) int

type DebugRequestRecv

type DebugRequestRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewDebugRequestRecv

func NewDebugRequestRecv(handler RecvDebugRequestHandler) *DebugRequestRecv

func (*DebugRequestRecv) GetMessageName

func (s *DebugRequestRecv) GetMessageName() string

func (*DebugRequestRecv) GetName

func (s *DebugRequestRecv) GetName() string

func (*DebugRequestRecv) GetRecvCount

func (s *DebugRequestRecv) GetRecvCount() uint64

func (*DebugRequestRecv) Recv

func (s *DebugRequestRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*DebugRequestRecv) RecvAllEnd

func (s *DebugRequestRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*DebugRequestRecv) RecvAllStart

func (s *DebugRequestRecv) RecvAllStart()

func (*DebugRequestRecv) SetSendRecv

func (s *DebugRequestRecv) SetSendRecv(sendrecv *SendRecv)

type DebugRequestRecvMany

type DebugRequestRecvMany struct {
	// contains filtered or unexported fields
}

func NewDebugRequestRecvMany

func NewDebugRequestRecvMany(handler RecvDebugRequestHandler) *DebugRequestRecvMany

func (*DebugRequestRecvMany) Flush

func (s *DebugRequestRecvMany) Flush(ctx context.Context, notifyId int64)

func (*DebugRequestRecvMany) NewRecv

func (s *DebugRequestRecvMany) NewRecv() NotifyRecv

type DebugRequestSend

type DebugRequestSend struct {
	Name        string
	MessageName string
	Data        []*edgeproto.DebugRequest

	Ctxs []context.Context

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewDebugRequestSend

func NewDebugRequestSend() *DebugRequestSend

func (*DebugRequestSend) GetMessageName

func (s *DebugRequestSend) GetMessageName() string

func (*DebugRequestSend) GetName

func (s *DebugRequestSend) GetName() string

func (*DebugRequestSend) GetNotifyId

func (s *DebugRequestSend) GetNotifyId() int64

func (*DebugRequestSend) GetSendCount

func (s *DebugRequestSend) GetSendCount() uint64

func (*DebugRequestSend) PrepData

func (s *DebugRequestSend) PrepData() bool

func (*DebugRequestSend) Send

func (s *DebugRequestSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*DebugRequestSend) SendForCloudlet

func (s *DebugRequestSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*DebugRequestSend) SetSendRecv

func (s *DebugRequestSend) SetSendRecv(sendrecv *SendRecv)

func (*DebugRequestSend) Update

func (*DebugRequestSend) UpdateAll

func (s *DebugRequestSend) UpdateAll(ctx context.Context)

type DebugRequestSendContext

type DebugRequestSendContext struct {
	// contains filtered or unexported fields
}

type DebugRequestSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewDebugRequestSendMany

func NewDebugRequestSendMany() *DebugRequestSendMany

func (*DebugRequestSendMany) DoneSend

func (s *DebugRequestSendMany) DoneSend(peerAddr string, send NotifySend)

func (*DebugRequestSendMany) GetTypeString

func (s *DebugRequestSendMany) GetTypeString() string

func (*DebugRequestSendMany) NewSend

func (s *DebugRequestSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*DebugRequestSendMany) Update

func (*DebugRequestSendMany) UpdateFiltered

func (s *DebugRequestSendMany) UpdateFiltered(ctx context.Context, msg *edgeproto.DebugRequest, sendOk func(ctx context.Context, send *DebugRequestSend, msg *edgeproto.DebugRequest) bool) int

type DeviceCacheHandler

type DeviceCacheHandler interface {
	SendDeviceHandler
	RecvDeviceHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.Device, modRev int64))
}

type DeviceRecv

type DeviceRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewDeviceRecv

func NewDeviceRecv(handler RecvDeviceHandler) *DeviceRecv

func (*DeviceRecv) Flush

func (s *DeviceRecv) Flush(ctx context.Context, notifyId int64)

func (*DeviceRecv) GetMessageName

func (s *DeviceRecv) GetMessageName() string

func (*DeviceRecv) GetName

func (s *DeviceRecv) GetName() string

func (*DeviceRecv) GetRecvCount

func (s *DeviceRecv) GetRecvCount() uint64

func (*DeviceRecv) Recv

func (s *DeviceRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*DeviceRecv) RecvAllEnd

func (s *DeviceRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*DeviceRecv) RecvAllStart

func (s *DeviceRecv) RecvAllStart()

func (*DeviceRecv) SetSendRecv

func (s *DeviceRecv) SetSendRecv(sendrecv *SendRecv)

type DeviceRecvMany

type DeviceRecvMany struct {
	// contains filtered or unexported fields
}

func NewDeviceRecvMany

func NewDeviceRecvMany(handler RecvDeviceHandler) *DeviceRecvMany

func (*DeviceRecvMany) Flush

func (s *DeviceRecvMany) Flush(ctx context.Context, notifyId int64)

func (*DeviceRecvMany) NewRecv

func (s *DeviceRecvMany) NewRecv() NotifyRecv

type DeviceSend

type DeviceSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.DeviceKey]DeviceSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewDeviceSend

func NewDeviceSend(handler SendDeviceHandler) *DeviceSend

func (*DeviceSend) ForceDelete

func (s *DeviceSend) ForceDelete(ctx context.Context, key *edgeproto.DeviceKey, modRev int64)

func (*DeviceSend) GetMessageName

func (s *DeviceSend) GetMessageName() string

func (*DeviceSend) GetName

func (s *DeviceSend) GetName() string

func (*DeviceSend) GetNotifyId

func (s *DeviceSend) GetNotifyId() int64

func (*DeviceSend) GetSendCount

func (s *DeviceSend) GetSendCount() uint64

func (*DeviceSend) PrepData

func (s *DeviceSend) PrepData() bool

func (*DeviceSend) Send

func (s *DeviceSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*DeviceSend) SendForCloudlet

func (s *DeviceSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*DeviceSend) SetSendRecv

func (s *DeviceSend) SetSendRecv(sendrecv *SendRecv)

func (*DeviceSend) Update

func (s *DeviceSend) Update(ctx context.Context, obj *edgeproto.Device, modRev int64)

func (*DeviceSend) UpdateAll

func (s *DeviceSend) UpdateAll(ctx context.Context)

type DeviceSendContext

type DeviceSendContext struct {
	// contains filtered or unexported fields
}

type DeviceSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewDeviceSendMany

func NewDeviceSendMany(handler SendDeviceHandler) *DeviceSendMany

func (*DeviceSendMany) DoneSend

func (s *DeviceSendMany) DoneSend(peerAddr string, send NotifySend)

func (*DeviceSendMany) GetTypeString

func (s *DeviceSendMany) GetTypeString() string

func (*DeviceSendMany) NewSend

func (s *DeviceSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*DeviceSendMany) Update

func (s *DeviceSendMany) Update(ctx context.Context, obj *edgeproto.Device, modRev int64)

type DummyHandler

type DummyHandler struct {
	AppCache                  edgeproto.AppCache
	AppInstCache              edgeproto.AppInstCache
	CloudletCache             edgeproto.CloudletCache
	VMPoolCache               edgeproto.VMPoolCache
	GPUDriverCache            edgeproto.GPUDriverCache
	FlavorCache               edgeproto.FlavorCache
	ClusterInstCache          edgeproto.ClusterInstCache
	AppInstInfoCache          edgeproto.AppInstInfoCache
	ClusterInstInfoCache      edgeproto.ClusterInstInfoCache
	CloudletInfoCache         edgeproto.CloudletInfoCache
	VMPoolInfoCache           edgeproto.VMPoolInfoCache
	AlertCache                edgeproto.AlertCache
	NodeCache                 edgeproto.NodeCache
	AutoScalePolicyCache      edgeproto.AutoScalePolicyCache
	AutoProvPolicyCache       edgeproto.AutoProvPolicyCache
	TrustPolicyCache          edgeproto.TrustPolicyCache
	TrustPolicyExceptionCache edgeproto.TrustPolicyExceptionCache
	CloudletPoolCache         edgeproto.CloudletPoolCache
	DeviceCache               edgeproto.DeviceCache

	SettingsCache edgeproto.SettingsCache
	NetworkCache  edgeproto.NetworkCache
	// contains filtered or unexported fields
}

func NewDummyHandler

func NewDummyHandler() *DummyHandler

func (*DummyHandler) GetCache

func (s *DummyHandler) GetCache(typ CacheType) WaitForCache

func (*DummyHandler) GetCloudletDetails

func (s *DummyHandler) GetCloudletDetails(key *edgeproto.CloudletKey) (string, int64, error)

func (*DummyHandler) RegisterCRMClient

func (s *DummyHandler) RegisterCRMClient(cl *Client)

func (*DummyHandler) RegisterDMEClient

func (s *DummyHandler) RegisterDMEClient(cl *Client)

func (*DummyHandler) RegisterServer

func (s *DummyHandler) RegisterServer(mgr *ServerMgr)

func (*DummyHandler) WaitFor

func (s *DummyHandler) WaitFor(typ CacheType, count int) error

func (*DummyHandler) WaitForAlerts

func (s *DummyHandler) WaitForAlerts(count int) error

func (*DummyHandler) WaitForAppInstInfo

func (s *DummyHandler) WaitForAppInstInfo(count int) error

func (*DummyHandler) WaitForAppInsts

func (s *DummyHandler) WaitForAppInsts(count int) error

func (*DummyHandler) WaitForApps

func (s *DummyHandler) WaitForApps(count int) error

func (*DummyHandler) WaitForCloudletInfo

func (s *DummyHandler) WaitForCloudletInfo(count int) error

func (*DummyHandler) WaitForCloudletState

func (s *DummyHandler) WaitForCloudletState(key *edgeproto.CloudletKey, state dmeproto.CloudletState) error

func (*DummyHandler) WaitForCloudlets

func (s *DummyHandler) WaitForCloudlets(count int) error

func (*DummyHandler) WaitForClusterInstInfo

func (s *DummyHandler) WaitForClusterInstInfo(count int) error

func (*DummyHandler) WaitForClusterInsts

func (s *DummyHandler) WaitForClusterInsts(count int) error

func (*DummyHandler) WaitForDevices

func (s *DummyHandler) WaitForDevices(count int) error

func (*DummyHandler) WaitForFlavors

func (s *DummyHandler) WaitForFlavors(count int) error

func (*DummyHandler) WaitForGPUDrivers

func (s *DummyHandler) WaitForGPUDrivers(count int) error

func (*DummyHandler) WaitForNetworks

func (s *DummyHandler) WaitForNetworks(count int) error

func (*DummyHandler) WaitForTrustPolicyException

func (s *DummyHandler) WaitForTrustPolicyException(count int) error

func (*DummyHandler) WaitForVMPoolInfo

func (s *DummyHandler) WaitForVMPoolInfo(count int) error

func (*DummyHandler) WaitForVMPools

func (s *DummyHandler) WaitForVMPools(count int) error

type ExecRequestRecv

type ExecRequestRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewExecRequestRecv

func NewExecRequestRecv(handler RecvExecRequestHandler) *ExecRequestRecv

func (*ExecRequestRecv) GetMessageName

func (s *ExecRequestRecv) GetMessageName() string

func (*ExecRequestRecv) GetName

func (s *ExecRequestRecv) GetName() string

func (*ExecRequestRecv) GetRecvCount

func (s *ExecRequestRecv) GetRecvCount() uint64

func (*ExecRequestRecv) Recv

func (s *ExecRequestRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*ExecRequestRecv) RecvAllEnd

func (s *ExecRequestRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*ExecRequestRecv) RecvAllStart

func (s *ExecRequestRecv) RecvAllStart()

func (*ExecRequestRecv) SetSendRecv

func (s *ExecRequestRecv) SetSendRecv(sendrecv *SendRecv)

type ExecRequestRecvMany

type ExecRequestRecvMany struct {
	// contains filtered or unexported fields
}

func NewExecRequestRecvMany

func NewExecRequestRecvMany(handler RecvExecRequestHandler) *ExecRequestRecvMany

func (*ExecRequestRecvMany) Flush

func (s *ExecRequestRecvMany) Flush(ctx context.Context, notifyId int64)

func (*ExecRequestRecvMany) NewRecv

func (s *ExecRequestRecvMany) NewRecv() NotifyRecv

type ExecRequestSend

type ExecRequestSend struct {
	Name        string
	MessageName string
	Data        []*edgeproto.ExecRequest

	Ctxs []context.Context

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewExecRequestSend

func NewExecRequestSend() *ExecRequestSend

func (*ExecRequestSend) GetMessageName

func (s *ExecRequestSend) GetMessageName() string

func (*ExecRequestSend) GetName

func (s *ExecRequestSend) GetName() string

func (*ExecRequestSend) GetNotifyId

func (s *ExecRequestSend) GetNotifyId() int64

func (*ExecRequestSend) GetSendCount

func (s *ExecRequestSend) GetSendCount() uint64

func (*ExecRequestSend) PrepData

func (s *ExecRequestSend) PrepData() bool

func (*ExecRequestSend) Send

func (s *ExecRequestSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*ExecRequestSend) SendForCloudlet

func (s *ExecRequestSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*ExecRequestSend) SetSendRecv

func (s *ExecRequestSend) SetSendRecv(sendrecv *SendRecv)

func (*ExecRequestSend) Update

func (*ExecRequestSend) UpdateAll

func (s *ExecRequestSend) UpdateAll(ctx context.Context)

func (*ExecRequestSend) UpdateOk

func (s *ExecRequestSend) UpdateOk(ctx context.Context, msg *edgeproto.ExecRequest) bool

type ExecRequestSendContext

type ExecRequestSendContext struct {
	// contains filtered or unexported fields
}

type ExecRequestSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewExecRequestSendMany

func NewExecRequestSendMany() *ExecRequestSendMany

func (*ExecRequestSendMany) DoneSend

func (s *ExecRequestSendMany) DoneSend(peerAddr string, send NotifySend)

func (*ExecRequestSendMany) GetTypeString

func (s *ExecRequestSendMany) GetTypeString() string

func (*ExecRequestSendMany) NewSend

func (s *ExecRequestSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*ExecRequestSendMany) Update

func (*ExecRequestSendMany) UpdateFiltered

func (s *ExecRequestSendMany) UpdateFiltered(ctx context.Context, msg *edgeproto.ExecRequest, sendOk func(ctx context.Context, send *ExecRequestSend, msg *edgeproto.ExecRequest) bool) int

type FedAppInstEventRecv

type FedAppInstEventRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewFedAppInstEventRecv

func NewFedAppInstEventRecv(handler RecvFedAppInstEventHandler) *FedAppInstEventRecv

func (*FedAppInstEventRecv) GetMessageName

func (s *FedAppInstEventRecv) GetMessageName() string

func (*FedAppInstEventRecv) GetName

func (s *FedAppInstEventRecv) GetName() string

func (*FedAppInstEventRecv) GetRecvCount

func (s *FedAppInstEventRecv) GetRecvCount() uint64

func (*FedAppInstEventRecv) Recv

func (s *FedAppInstEventRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*FedAppInstEventRecv) RecvAllEnd

func (s *FedAppInstEventRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*FedAppInstEventRecv) RecvAllStart

func (s *FedAppInstEventRecv) RecvAllStart()

func (*FedAppInstEventRecv) SetSendRecv

func (s *FedAppInstEventRecv) SetSendRecv(sendrecv *SendRecv)

type FedAppInstEventRecvMany

type FedAppInstEventRecvMany struct {
	// contains filtered or unexported fields
}

func NewFedAppInstEventRecvMany

func NewFedAppInstEventRecvMany(handler RecvFedAppInstEventHandler) *FedAppInstEventRecvMany

func (*FedAppInstEventRecvMany) Flush

func (s *FedAppInstEventRecvMany) Flush(ctx context.Context, notifyId int64)

func (*FedAppInstEventRecvMany) NewRecv

func (s *FedAppInstEventRecvMany) NewRecv() NotifyRecv

type FedAppInstEventSend

type FedAppInstEventSend struct {
	Name        string
	MessageName string
	Data        []*edgeproto.FedAppInstEvent

	Ctxs []context.Context

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewFedAppInstEventSend

func NewFedAppInstEventSend() *FedAppInstEventSend

func (*FedAppInstEventSend) GetMessageName

func (s *FedAppInstEventSend) GetMessageName() string

func (*FedAppInstEventSend) GetName

func (s *FedAppInstEventSend) GetName() string

func (*FedAppInstEventSend) GetNotifyId

func (s *FedAppInstEventSend) GetNotifyId() int64

func (*FedAppInstEventSend) GetSendCount

func (s *FedAppInstEventSend) GetSendCount() uint64

func (*FedAppInstEventSend) PrepData

func (s *FedAppInstEventSend) PrepData() bool

func (*FedAppInstEventSend) Send

func (s *FedAppInstEventSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*FedAppInstEventSend) SendForCloudlet

func (s *FedAppInstEventSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*FedAppInstEventSend) SetSendRecv

func (s *FedAppInstEventSend) SetSendRecv(sendrecv *SendRecv)

func (*FedAppInstEventSend) Update

func (*FedAppInstEventSend) UpdateAll

func (s *FedAppInstEventSend) UpdateAll(ctx context.Context)

type FedAppInstEventSendContext

type FedAppInstEventSendContext struct {
	// contains filtered or unexported fields
}

type FedAppInstEventSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewFedAppInstEventSendMany

func NewFedAppInstEventSendMany() *FedAppInstEventSendMany

func (*FedAppInstEventSendMany) DoneSend

func (s *FedAppInstEventSendMany) DoneSend(peerAddr string, send NotifySend)

func (*FedAppInstEventSendMany) GetTypeString

func (s *FedAppInstEventSendMany) GetTypeString() string

func (*FedAppInstEventSendMany) NewSend

func (s *FedAppInstEventSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*FedAppInstEventSendMany) Update

func (*FedAppInstEventSendMany) UpdateFiltered

type FlavorCacheHandler

type FlavorCacheHandler interface {
	SendFlavorHandler
	RecvFlavorHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.Flavor, modRev int64))
}

type FlavorRecv

type FlavorRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewFlavorRecv

func NewFlavorRecv(handler RecvFlavorHandler) *FlavorRecv

func (*FlavorRecv) Flush

func (s *FlavorRecv) Flush(ctx context.Context, notifyId int64)

func (*FlavorRecv) GetMessageName

func (s *FlavorRecv) GetMessageName() string

func (*FlavorRecv) GetName

func (s *FlavorRecv) GetName() string

func (*FlavorRecv) GetRecvCount

func (s *FlavorRecv) GetRecvCount() uint64

func (*FlavorRecv) Recv

func (s *FlavorRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*FlavorRecv) RecvAllEnd

func (s *FlavorRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*FlavorRecv) RecvAllStart

func (s *FlavorRecv) RecvAllStart()

func (*FlavorRecv) SetSendRecv

func (s *FlavorRecv) SetSendRecv(sendrecv *SendRecv)

type FlavorRecvMany

type FlavorRecvMany struct {
	// contains filtered or unexported fields
}

func NewFlavorRecvMany

func NewFlavorRecvMany(handler RecvFlavorHandler) *FlavorRecvMany

func (*FlavorRecvMany) Flush

func (s *FlavorRecvMany) Flush(ctx context.Context, notifyId int64)

func (*FlavorRecvMany) NewRecv

func (s *FlavorRecvMany) NewRecv() NotifyRecv

type FlavorSend

type FlavorSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.FlavorKey]FlavorSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewFlavorSend

func NewFlavorSend(handler SendFlavorHandler) *FlavorSend

func (*FlavorSend) ForceDelete

func (s *FlavorSend) ForceDelete(ctx context.Context, key *edgeproto.FlavorKey, modRev int64)

func (*FlavorSend) GetMessageName

func (s *FlavorSend) GetMessageName() string

func (*FlavorSend) GetName

func (s *FlavorSend) GetName() string

func (*FlavorSend) GetNotifyId

func (s *FlavorSend) GetNotifyId() int64

func (*FlavorSend) GetSendCount

func (s *FlavorSend) GetSendCount() uint64

func (*FlavorSend) PrepData

func (s *FlavorSend) PrepData() bool

func (*FlavorSend) Send

func (s *FlavorSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*FlavorSend) SendForCloudlet

func (s *FlavorSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*FlavorSend) SetSendRecv

func (s *FlavorSend) SetSendRecv(sendrecv *SendRecv)

func (*FlavorSend) Update

func (s *FlavorSend) Update(ctx context.Context, obj *edgeproto.Flavor, modRev int64)

func (*FlavorSend) UpdateAll

func (s *FlavorSend) UpdateAll(ctx context.Context)

type FlavorSendContext

type FlavorSendContext struct {
	// contains filtered or unexported fields
}

type FlavorSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewFlavorSendMany

func NewFlavorSendMany(handler SendFlavorHandler) *FlavorSendMany

func (*FlavorSendMany) DoneSend

func (s *FlavorSendMany) DoneSend(peerAddr string, send NotifySend)

func (*FlavorSendMany) GetTypeString

func (s *FlavorSendMany) GetTypeString() string

func (*FlavorSendMany) NewSend

func (s *FlavorSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*FlavorSendMany) Update

func (s *FlavorSendMany) Update(ctx context.Context, obj *edgeproto.Flavor, modRev int64)

type FlowRateLimitSettingsCacheHandler

type FlowRateLimitSettingsCacheHandler interface {
	SendFlowRateLimitSettingsHandler
	RecvFlowRateLimitSettingsHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.FlowRateLimitSettings, modRev int64))
}

type FlowRateLimitSettingsRecv

type FlowRateLimitSettingsRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func (*FlowRateLimitSettingsRecv) Flush

func (s *FlowRateLimitSettingsRecv) Flush(ctx context.Context, notifyId int64)

func (*FlowRateLimitSettingsRecv) GetMessageName

func (s *FlowRateLimitSettingsRecv) GetMessageName() string

func (*FlowRateLimitSettingsRecv) GetName

func (s *FlowRateLimitSettingsRecv) GetName() string

func (*FlowRateLimitSettingsRecv) GetRecvCount

func (s *FlowRateLimitSettingsRecv) GetRecvCount() uint64

func (*FlowRateLimitSettingsRecv) Recv

func (s *FlowRateLimitSettingsRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*FlowRateLimitSettingsRecv) RecvAllEnd

func (s *FlowRateLimitSettingsRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*FlowRateLimitSettingsRecv) RecvAllStart

func (s *FlowRateLimitSettingsRecv) RecvAllStart()

func (*FlowRateLimitSettingsRecv) SetSendRecv

func (s *FlowRateLimitSettingsRecv) SetSendRecv(sendrecv *SendRecv)

type FlowRateLimitSettingsRecvMany

type FlowRateLimitSettingsRecvMany struct {
	// contains filtered or unexported fields
}

func (*FlowRateLimitSettingsRecvMany) Flush

func (s *FlowRateLimitSettingsRecvMany) Flush(ctx context.Context, notifyId int64)

func (*FlowRateLimitSettingsRecvMany) NewRecv

type FlowRateLimitSettingsSend

type FlowRateLimitSettingsSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.FlowRateLimitSettingsKey]FlowRateLimitSettingsSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func (*FlowRateLimitSettingsSend) ForceDelete

func (*FlowRateLimitSettingsSend) GetMessageName

func (s *FlowRateLimitSettingsSend) GetMessageName() string

func (*FlowRateLimitSettingsSend) GetName

func (s *FlowRateLimitSettingsSend) GetName() string

func (*FlowRateLimitSettingsSend) GetNotifyId

func (s *FlowRateLimitSettingsSend) GetNotifyId() int64

func (*FlowRateLimitSettingsSend) GetSendCount

func (s *FlowRateLimitSettingsSend) GetSendCount() uint64

func (*FlowRateLimitSettingsSend) PrepData

func (s *FlowRateLimitSettingsSend) PrepData() bool

func (*FlowRateLimitSettingsSend) Send

func (s *FlowRateLimitSettingsSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*FlowRateLimitSettingsSend) SendForCloudlet

func (s *FlowRateLimitSettingsSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*FlowRateLimitSettingsSend) SetSendRecv

func (s *FlowRateLimitSettingsSend) SetSendRecv(sendrecv *SendRecv)

func (*FlowRateLimitSettingsSend) Update

func (*FlowRateLimitSettingsSend) UpdateAll

func (s *FlowRateLimitSettingsSend) UpdateAll(ctx context.Context)

type FlowRateLimitSettingsSendContext

type FlowRateLimitSettingsSendContext struct {
	// contains filtered or unexported fields
}

type FlowRateLimitSettingsSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func (*FlowRateLimitSettingsSendMany) DoneSend

func (s *FlowRateLimitSettingsSendMany) DoneSend(peerAddr string, send NotifySend)

func (*FlowRateLimitSettingsSendMany) GetTypeString

func (s *FlowRateLimitSettingsSendMany) GetTypeString() string

func (*FlowRateLimitSettingsSendMany) NewSend

func (s *FlowRateLimitSettingsSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*FlowRateLimitSettingsSendMany) Update

type GPUDriverCacheHandler

type GPUDriverCacheHandler interface {
	SendGPUDriverHandler
	RecvGPUDriverHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.GPUDriver, modRev int64))
}

type GPUDriverRecv

type GPUDriverRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewGPUDriverRecv

func NewGPUDriverRecv(handler RecvGPUDriverHandler) *GPUDriverRecv

func (*GPUDriverRecv) Flush

func (s *GPUDriverRecv) Flush(ctx context.Context, notifyId int64)

func (*GPUDriverRecv) GetMessageName

func (s *GPUDriverRecv) GetMessageName() string

func (*GPUDriverRecv) GetName

func (s *GPUDriverRecv) GetName() string

func (*GPUDriverRecv) GetRecvCount

func (s *GPUDriverRecv) GetRecvCount() uint64

func (*GPUDriverRecv) Recv

func (s *GPUDriverRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*GPUDriverRecv) RecvAllEnd

func (s *GPUDriverRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*GPUDriverRecv) RecvAllStart

func (s *GPUDriverRecv) RecvAllStart()

func (*GPUDriverRecv) SetSendRecv

func (s *GPUDriverRecv) SetSendRecv(sendrecv *SendRecv)

type GPUDriverRecvMany

type GPUDriverRecvMany struct {
	// contains filtered or unexported fields
}

func NewGPUDriverRecvMany

func NewGPUDriverRecvMany(handler RecvGPUDriverHandler) *GPUDriverRecvMany

func (*GPUDriverRecvMany) Flush

func (s *GPUDriverRecvMany) Flush(ctx context.Context, notifyId int64)

func (*GPUDriverRecvMany) NewRecv

func (s *GPUDriverRecvMany) NewRecv() NotifyRecv

type GPUDriverSend

type GPUDriverSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.GPUDriverKey]GPUDriverSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewGPUDriverSend

func NewGPUDriverSend(handler SendGPUDriverHandler) *GPUDriverSend

func (*GPUDriverSend) ForceDelete

func (s *GPUDriverSend) ForceDelete(ctx context.Context, key *edgeproto.GPUDriverKey, modRev int64)

func (*GPUDriverSend) GetMessageName

func (s *GPUDriverSend) GetMessageName() string

func (*GPUDriverSend) GetName

func (s *GPUDriverSend) GetName() string

func (*GPUDriverSend) GetNotifyId

func (s *GPUDriverSend) GetNotifyId() int64

func (*GPUDriverSend) GetSendCount

func (s *GPUDriverSend) GetSendCount() uint64

func (*GPUDriverSend) PrepData

func (s *GPUDriverSend) PrepData() bool

func (*GPUDriverSend) Send

func (s *GPUDriverSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*GPUDriverSend) SendForCloudlet

func (s *GPUDriverSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*GPUDriverSend) SetSendRecv

func (s *GPUDriverSend) SetSendRecv(sendrecv *SendRecv)

func (*GPUDriverSend) Update

func (s *GPUDriverSend) Update(ctx context.Context, obj *edgeproto.GPUDriver, modRev int64)

func (*GPUDriverSend) UpdateAll

func (s *GPUDriverSend) UpdateAll(ctx context.Context)

func (*GPUDriverSend) UpdateAllOkLocked

func (s *GPUDriverSend) UpdateAllOkLocked(gpuDriver *edgeproto.GPUDriver) bool

func (*GPUDriverSend) UpdateOk

func (s *GPUDriverSend) UpdateOk(ctx context.Context, gpuDriver *edgeproto.GPUDriver) bool

type GPUDriverSendContext

type GPUDriverSendContext struct {
	// contains filtered or unexported fields
}

type GPUDriverSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewGPUDriverSendMany

func NewGPUDriverSendMany(handler SendGPUDriverHandler) *GPUDriverSendMany

func (*GPUDriverSendMany) DoneSend

func (s *GPUDriverSendMany) DoneSend(peerAddr string, send NotifySend)

func (*GPUDriverSendMany) GetTypeString

func (s *GPUDriverSendMany) GetTypeString() string

func (*GPUDriverSendMany) NewSend

func (s *GPUDriverSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*GPUDriverSendMany) Update

func (s *GPUDriverSendMany) Update(ctx context.Context, obj *edgeproto.GPUDriver, modRev int64)

type MaxReqsRateLimitSettingsCacheHandler

type MaxReqsRateLimitSettingsCacheHandler interface {
	SendMaxReqsRateLimitSettingsHandler
	RecvMaxReqsRateLimitSettingsHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.MaxReqsRateLimitSettings, modRev int64))
}

type MaxReqsRateLimitSettingsRecv

type MaxReqsRateLimitSettingsRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func (*MaxReqsRateLimitSettingsRecv) Flush

func (s *MaxReqsRateLimitSettingsRecv) Flush(ctx context.Context, notifyId int64)

func (*MaxReqsRateLimitSettingsRecv) GetMessageName

func (s *MaxReqsRateLimitSettingsRecv) GetMessageName() string

func (*MaxReqsRateLimitSettingsRecv) GetName

func (s *MaxReqsRateLimitSettingsRecv) GetName() string

func (*MaxReqsRateLimitSettingsRecv) GetRecvCount

func (s *MaxReqsRateLimitSettingsRecv) GetRecvCount() uint64

func (*MaxReqsRateLimitSettingsRecv) Recv

func (s *MaxReqsRateLimitSettingsRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*MaxReqsRateLimitSettingsRecv) RecvAllEnd

func (s *MaxReqsRateLimitSettingsRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*MaxReqsRateLimitSettingsRecv) RecvAllStart

func (s *MaxReqsRateLimitSettingsRecv) RecvAllStart()

func (*MaxReqsRateLimitSettingsRecv) SetSendRecv

func (s *MaxReqsRateLimitSettingsRecv) SetSendRecv(sendrecv *SendRecv)

type MaxReqsRateLimitSettingsRecvMany

type MaxReqsRateLimitSettingsRecvMany struct {
	// contains filtered or unexported fields
}

func (*MaxReqsRateLimitSettingsRecvMany) Flush

func (s *MaxReqsRateLimitSettingsRecvMany) Flush(ctx context.Context, notifyId int64)

func (*MaxReqsRateLimitSettingsRecvMany) NewRecv

type MaxReqsRateLimitSettingsSend

type MaxReqsRateLimitSettingsSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.MaxReqsRateLimitSettingsKey]MaxReqsRateLimitSettingsSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func (*MaxReqsRateLimitSettingsSend) ForceDelete

func (*MaxReqsRateLimitSettingsSend) GetMessageName

func (s *MaxReqsRateLimitSettingsSend) GetMessageName() string

func (*MaxReqsRateLimitSettingsSend) GetName

func (s *MaxReqsRateLimitSettingsSend) GetName() string

func (*MaxReqsRateLimitSettingsSend) GetNotifyId

func (s *MaxReqsRateLimitSettingsSend) GetNotifyId() int64

func (*MaxReqsRateLimitSettingsSend) GetSendCount

func (s *MaxReqsRateLimitSettingsSend) GetSendCount() uint64

func (*MaxReqsRateLimitSettingsSend) PrepData

func (s *MaxReqsRateLimitSettingsSend) PrepData() bool

func (*MaxReqsRateLimitSettingsSend) Send

func (s *MaxReqsRateLimitSettingsSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*MaxReqsRateLimitSettingsSend) SendForCloudlet

func (s *MaxReqsRateLimitSettingsSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*MaxReqsRateLimitSettingsSend) SetSendRecv

func (s *MaxReqsRateLimitSettingsSend) SetSendRecv(sendrecv *SendRecv)

func (*MaxReqsRateLimitSettingsSend) Update

func (*MaxReqsRateLimitSettingsSend) UpdateAll

func (s *MaxReqsRateLimitSettingsSend) UpdateAll(ctx context.Context)

type MaxReqsRateLimitSettingsSendContext

type MaxReqsRateLimitSettingsSendContext struct {
	// contains filtered or unexported fields
}

type MaxReqsRateLimitSettingsSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func (*MaxReqsRateLimitSettingsSendMany) DoneSend

func (s *MaxReqsRateLimitSettingsSendMany) DoneSend(peerAddr string, send NotifySend)

func (*MaxReqsRateLimitSettingsSendMany) GetTypeString

func (s *MaxReqsRateLimitSettingsSendMany) GetTypeString() string

func (*MaxReqsRateLimitSettingsSendMany) NewSend

func (s *MaxReqsRateLimitSettingsSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*MaxReqsRateLimitSettingsSendMany) Update

type MetricRecv

type MetricRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewMetricRecv

func NewMetricRecv(handler RecvMetricHandler) *MetricRecv

func (*MetricRecv) GetMessageName

func (s *MetricRecv) GetMessageName() string

func (*MetricRecv) GetName

func (s *MetricRecv) GetName() string

func (*MetricRecv) GetRecvCount

func (s *MetricRecv) GetRecvCount() uint64

func (*MetricRecv) Recv

func (s *MetricRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*MetricRecv) RecvAllEnd

func (s *MetricRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*MetricRecv) RecvAllStart

func (s *MetricRecv) RecvAllStart()

func (*MetricRecv) SetSendRecv

func (s *MetricRecv) SetSendRecv(sendrecv *SendRecv)

type MetricRecvMany

type MetricRecvMany struct {
	// contains filtered or unexported fields
}

func NewMetricRecvMany

func NewMetricRecvMany(handler RecvMetricHandler) *MetricRecvMany

func (*MetricRecvMany) Flush

func (s *MetricRecvMany) Flush(ctx context.Context, notifyId int64)

func (*MetricRecvMany) NewRecv

func (s *MetricRecvMany) NewRecv() NotifyRecv

type MetricSend

type MetricSend struct {
	Name        string
	MessageName string
	Data        []*edgeproto.Metric

	Ctxs []context.Context

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewMetricSend

func NewMetricSend() *MetricSend

func (*MetricSend) GetMessageName

func (s *MetricSend) GetMessageName() string

func (*MetricSend) GetName

func (s *MetricSend) GetName() string

func (*MetricSend) GetNotifyId

func (s *MetricSend) GetNotifyId() int64

func (*MetricSend) GetSendCount

func (s *MetricSend) GetSendCount() uint64

func (*MetricSend) PrepData

func (s *MetricSend) PrepData() bool

func (*MetricSend) Send

func (s *MetricSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*MetricSend) SendForCloudlet

func (s *MetricSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*MetricSend) SetSendRecv

func (s *MetricSend) SetSendRecv(sendrecv *SendRecv)

func (*MetricSend) Update

func (s *MetricSend) Update(ctx context.Context, msg *edgeproto.Metric) bool

func (*MetricSend) UpdateAll

func (s *MetricSend) UpdateAll(ctx context.Context)

type MetricSendContext

type MetricSendContext struct {
	// contains filtered or unexported fields
}

type MetricSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewMetricSendMany

func NewMetricSendMany() *MetricSendMany

func (*MetricSendMany) DoneSend

func (s *MetricSendMany) DoneSend(peerAddr string, send NotifySend)

func (*MetricSendMany) GetTypeString

func (s *MetricSendMany) GetTypeString() string

func (*MetricSendMany) NewSend

func (s *MetricSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*MetricSendMany) Update

func (s *MetricSendMany) Update(ctx context.Context, msg *edgeproto.Metric) int

func (*MetricSendMany) UpdateFiltered

func (s *MetricSendMany) UpdateFiltered(ctx context.Context, msg *edgeproto.Metric, sendOk func(ctx context.Context, send *MetricSend, msg *edgeproto.Metric) bool) int

type NetworkCacheHandler

type NetworkCacheHandler interface {
	SendNetworkHandler
	RecvNetworkHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.Network, modRev int64))
}

type NetworkRecv

type NetworkRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewNetworkRecv

func NewNetworkRecv(handler RecvNetworkHandler) *NetworkRecv

func (*NetworkRecv) Flush

func (s *NetworkRecv) Flush(ctx context.Context, notifyId int64)

func (*NetworkRecv) GetMessageName

func (s *NetworkRecv) GetMessageName() string

func (*NetworkRecv) GetName

func (s *NetworkRecv) GetName() string

func (*NetworkRecv) GetRecvCount

func (s *NetworkRecv) GetRecvCount() uint64

func (*NetworkRecv) Recv

func (s *NetworkRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*NetworkRecv) RecvAllEnd

func (s *NetworkRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*NetworkRecv) RecvAllStart

func (s *NetworkRecv) RecvAllStart()

func (*NetworkRecv) SetSendRecv

func (s *NetworkRecv) SetSendRecv(sendrecv *SendRecv)

type NetworkRecvMany

type NetworkRecvMany struct {
	// contains filtered or unexported fields
}

func NewNetworkRecvMany

func NewNetworkRecvMany(handler RecvNetworkHandler) *NetworkRecvMany

func (*NetworkRecvMany) Flush

func (s *NetworkRecvMany) Flush(ctx context.Context, notifyId int64)

func (*NetworkRecvMany) NewRecv

func (s *NetworkRecvMany) NewRecv() NotifyRecv

type NetworkSend

type NetworkSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.NetworkKey]NetworkSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewNetworkSend

func NewNetworkSend(handler SendNetworkHandler) *NetworkSend

func (*NetworkSend) ForceDelete

func (s *NetworkSend) ForceDelete(ctx context.Context, key *edgeproto.NetworkKey, modRev int64)

func (*NetworkSend) GetMessageName

func (s *NetworkSend) GetMessageName() string

func (*NetworkSend) GetName

func (s *NetworkSend) GetName() string

func (*NetworkSend) GetNotifyId

func (s *NetworkSend) GetNotifyId() int64

func (*NetworkSend) GetSendCount

func (s *NetworkSend) GetSendCount() uint64

func (*NetworkSend) PrepData

func (s *NetworkSend) PrepData() bool

func (*NetworkSend) Send

func (s *NetworkSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*NetworkSend) SendForCloudlet

func (s *NetworkSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*NetworkSend) SetSendRecv

func (s *NetworkSend) SetSendRecv(sendrecv *SendRecv)

func (*NetworkSend) Update

func (s *NetworkSend) Update(ctx context.Context, obj *edgeproto.Network, modRev int64)

func (*NetworkSend) UpdateAll

func (s *NetworkSend) UpdateAll(ctx context.Context)

type NetworkSendContext

type NetworkSendContext struct {
	// contains filtered or unexported fields
}

type NetworkSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewNetworkSendMany

func NewNetworkSendMany(handler SendNetworkHandler) *NetworkSendMany

func (*NetworkSendMany) DoneSend

func (s *NetworkSendMany) DoneSend(peerAddr string, send NotifySend)

func (*NetworkSendMany) GetTypeString

func (s *NetworkSendMany) GetTypeString() string

func (*NetworkSendMany) NewSend

func (s *NetworkSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*NetworkSendMany) Update

func (s *NetworkSendMany) Update(ctx context.Context, obj *edgeproto.Network, modRev int64)

type NodeCacheHandler

type NodeCacheHandler interface {
	SendNodeHandler
	RecvNodeHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.Node, modRev int64))
}

type NodeRecv

type NodeRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewNodeRecv

func NewNodeRecv(handler RecvNodeHandler) *NodeRecv

func (*NodeRecv) Flush

func (s *NodeRecv) Flush(ctx context.Context, notifyId int64)

func (*NodeRecv) GetMessageName

func (s *NodeRecv) GetMessageName() string

func (*NodeRecv) GetName

func (s *NodeRecv) GetName() string

func (*NodeRecv) GetRecvCount

func (s *NodeRecv) GetRecvCount() uint64

func (*NodeRecv) Recv

func (s *NodeRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*NodeRecv) RecvAllEnd

func (s *NodeRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*NodeRecv) RecvAllStart

func (s *NodeRecv) RecvAllStart()

func (*NodeRecv) SetSendRecv

func (s *NodeRecv) SetSendRecv(sendrecv *SendRecv)

type NodeRecvMany

type NodeRecvMany struct {
	// contains filtered or unexported fields
}

func NewNodeRecvMany

func NewNodeRecvMany(handler RecvNodeHandler) *NodeRecvMany

func (*NodeRecvMany) Flush

func (s *NodeRecvMany) Flush(ctx context.Context, notifyId int64)

func (*NodeRecvMany) NewRecv

func (s *NodeRecvMany) NewRecv() NotifyRecv

type NodeSend

type NodeSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.NodeKey]NodeSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewNodeSend

func NewNodeSend(handler SendNodeHandler) *NodeSend

func (*NodeSend) ForceDelete

func (s *NodeSend) ForceDelete(ctx context.Context, key *edgeproto.NodeKey, modRev int64)

func (*NodeSend) GetMessageName

func (s *NodeSend) GetMessageName() string

func (*NodeSend) GetName

func (s *NodeSend) GetName() string

func (*NodeSend) GetNotifyId

func (s *NodeSend) GetNotifyId() int64

func (*NodeSend) GetSendCount

func (s *NodeSend) GetSendCount() uint64

func (*NodeSend) PrepData

func (s *NodeSend) PrepData() bool

func (*NodeSend) Send

func (s *NodeSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*NodeSend) SendForCloudlet

func (s *NodeSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*NodeSend) SetSendRecv

func (s *NodeSend) SetSendRecv(sendrecv *SendRecv)

func (*NodeSend) Update

func (s *NodeSend) Update(ctx context.Context, obj *edgeproto.Node, modRev int64)

func (*NodeSend) UpdateAll

func (s *NodeSend) UpdateAll(ctx context.Context)

type NodeSendContext

type NodeSendContext struct {
	// contains filtered or unexported fields
}

type NodeSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewNodeSendMany

func NewNodeSendMany(handler SendNodeHandler) *NodeSendMany

func (*NodeSendMany) DoneSend

func (s *NodeSendMany) DoneSend(peerAddr string, send NotifySend)

func (*NodeSendMany) GetTypeString

func (s *NodeSendMany) GetTypeString() string

func (*NodeSendMany) NewSend

func (s *NodeSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*NodeSendMany) Update

func (s *NodeSendMany) Update(ctx context.Context, obj *edgeproto.Node, modRev int64)

type NotifyRecv

type NotifyRecv interface {
	// Set the SendRecv owner
	SetSendRecv(s *SendRecv)
	// Get the proto message name
	GetMessageName() string
	// Get the object name (no package name)
	GetName() string
	// Get recv count for object
	GetRecvCount() uint64
	// Recieve the data
	Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)
	// Start receiving a send all
	RecvAllStart()
	// End receiving a send all
	RecvAllEnd(ctx context.Context, cleanup Cleanup)
}

NotifyRecv is implemented by auto-generated code. The same comment as for NotifySend applies here as well.

type NotifyRecvMany

type NotifyRecvMany interface {
	// Allocate a new Recv object
	NewRecv() NotifyRecv
	// Flush stale data for the connection after disconnect
	Flush(ctx context.Context, notifyId int64)
}

type NotifySend

type NotifySend interface {
	// Set the SendRecv owner
	SetSendRecv(s *SendRecv)
	// Get the proto message name
	GetMessageName() string
	// Get the object name (no package name)
	GetName() string
	// Get send count for object
	GetSendCount() uint64
	// Send the data
	Send(stream StreamNotify, buf *edgeproto.Notice, peerAddr string) error
	// Return true if there are keys to send, prepares keys to send
	PrepData() bool
	// Queue all cached data for send
	UpdateAll(ctx context.Context)
	// Send cloudlet-filtered objects after receiving cloudletinfo
	SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)
}

NotifySend is implemented by auto-generated code. That code is specific to the given object, but the interface is generic. The sendrecv code uses the generic interface to treat all objects equally.

type NotifySendMany

type NotifySendMany interface {
	// Allocate a new Send object
	NewSend(peerAddr string, notifyId int64) NotifySend
	// Free a Send object
	DoneSend(peerAddr string, send NotifySend)
	// Get type string
	GetTypeString() string
}

type NotifyType

type NotifyType int32
const (
	TypeAppInst NotifyType = iota
	TypeAppInstInfo
	TypeCloudlet
	TypeFlavor
	TypeClusterInst
	TypeClusterInstInfo
)

type OperatorCodeCacheHandler

type OperatorCodeCacheHandler interface {
	SendOperatorCodeHandler
	RecvOperatorCodeHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.OperatorCode, modRev int64))
}

type OperatorCodeRecv

type OperatorCodeRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewOperatorCodeRecv

func NewOperatorCodeRecv(handler RecvOperatorCodeHandler) *OperatorCodeRecv

func (*OperatorCodeRecv) Flush

func (s *OperatorCodeRecv) Flush(ctx context.Context, notifyId int64)

func (*OperatorCodeRecv) GetMessageName

func (s *OperatorCodeRecv) GetMessageName() string

func (*OperatorCodeRecv) GetName

func (s *OperatorCodeRecv) GetName() string

func (*OperatorCodeRecv) GetRecvCount

func (s *OperatorCodeRecv) GetRecvCount() uint64

func (*OperatorCodeRecv) Recv

func (s *OperatorCodeRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*OperatorCodeRecv) RecvAllEnd

func (s *OperatorCodeRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*OperatorCodeRecv) RecvAllStart

func (s *OperatorCodeRecv) RecvAllStart()

func (*OperatorCodeRecv) SetSendRecv

func (s *OperatorCodeRecv) SetSendRecv(sendrecv *SendRecv)

type OperatorCodeRecvMany

type OperatorCodeRecvMany struct {
	// contains filtered or unexported fields
}

func NewOperatorCodeRecvMany

func NewOperatorCodeRecvMany(handler RecvOperatorCodeHandler) *OperatorCodeRecvMany

func (*OperatorCodeRecvMany) Flush

func (s *OperatorCodeRecvMany) Flush(ctx context.Context, notifyId int64)

func (*OperatorCodeRecvMany) NewRecv

func (s *OperatorCodeRecvMany) NewRecv() NotifyRecv

type OperatorCodeSend

type OperatorCodeSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.OperatorCodeKey]OperatorCodeSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewOperatorCodeSend

func NewOperatorCodeSend(handler SendOperatorCodeHandler) *OperatorCodeSend

func (*OperatorCodeSend) ForceDelete

func (s *OperatorCodeSend) ForceDelete(ctx context.Context, key *edgeproto.OperatorCodeKey, modRev int64)

func (*OperatorCodeSend) GetMessageName

func (s *OperatorCodeSend) GetMessageName() string

func (*OperatorCodeSend) GetName

func (s *OperatorCodeSend) GetName() string

func (*OperatorCodeSend) GetNotifyId

func (s *OperatorCodeSend) GetNotifyId() int64

func (*OperatorCodeSend) GetSendCount

func (s *OperatorCodeSend) GetSendCount() uint64

func (*OperatorCodeSend) PrepData

func (s *OperatorCodeSend) PrepData() bool

func (*OperatorCodeSend) Send

func (s *OperatorCodeSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*OperatorCodeSend) SendForCloudlet

func (s *OperatorCodeSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*OperatorCodeSend) SetSendRecv

func (s *OperatorCodeSend) SetSendRecv(sendrecv *SendRecv)

func (*OperatorCodeSend) Update

func (s *OperatorCodeSend) Update(ctx context.Context, obj *edgeproto.OperatorCode, modRev int64)

func (*OperatorCodeSend) UpdateAll

func (s *OperatorCodeSend) UpdateAll(ctx context.Context)

type OperatorCodeSendContext

type OperatorCodeSendContext struct {
	// contains filtered or unexported fields
}

type OperatorCodeSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewOperatorCodeSendMany

func NewOperatorCodeSendMany(handler SendOperatorCodeHandler) *OperatorCodeSendMany

func (*OperatorCodeSendMany) DoneSend

func (s *OperatorCodeSendMany) DoneSend(peerAddr string, send NotifySend)

func (*OperatorCodeSendMany) GetTypeString

func (s *OperatorCodeSendMany) GetTypeString() string

func (*OperatorCodeSendMany) NewSend

func (s *OperatorCodeSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*OperatorCodeSendMany) Update

func (s *OperatorCodeSendMany) Update(ctx context.Context, obj *edgeproto.OperatorCode, modRev int64)

type PlatformFeaturesCacheHandler

type PlatformFeaturesCacheHandler interface {
	SendPlatformFeaturesHandler
	RecvPlatformFeaturesHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.PlatformFeatures, modRev int64))
}

type PlatformFeaturesRecv

type PlatformFeaturesRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewPlatformFeaturesRecv

func NewPlatformFeaturesRecv(handler RecvPlatformFeaturesHandler) *PlatformFeaturesRecv

func (*PlatformFeaturesRecv) Flush

func (s *PlatformFeaturesRecv) Flush(ctx context.Context, notifyId int64)

func (*PlatformFeaturesRecv) GetMessageName

func (s *PlatformFeaturesRecv) GetMessageName() string

func (*PlatformFeaturesRecv) GetName

func (s *PlatformFeaturesRecv) GetName() string

func (*PlatformFeaturesRecv) GetRecvCount

func (s *PlatformFeaturesRecv) GetRecvCount() uint64

func (*PlatformFeaturesRecv) Recv

func (s *PlatformFeaturesRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*PlatformFeaturesRecv) RecvAllEnd

func (s *PlatformFeaturesRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*PlatformFeaturesRecv) RecvAllStart

func (s *PlatformFeaturesRecv) RecvAllStart()

func (*PlatformFeaturesRecv) SetSendRecv

func (s *PlatformFeaturesRecv) SetSendRecv(sendrecv *SendRecv)

type PlatformFeaturesRecvMany

type PlatformFeaturesRecvMany struct {
	// contains filtered or unexported fields
}

func (*PlatformFeaturesRecvMany) Flush

func (s *PlatformFeaturesRecvMany) Flush(ctx context.Context, notifyId int64)

func (*PlatformFeaturesRecvMany) NewRecv

func (s *PlatformFeaturesRecvMany) NewRecv() NotifyRecv

type PlatformFeaturesSend

type PlatformFeaturesSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.PlatformFeaturesKey]PlatformFeaturesSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewPlatformFeaturesSend

func NewPlatformFeaturesSend(handler SendPlatformFeaturesHandler) *PlatformFeaturesSend

func (*PlatformFeaturesSend) ForceDelete

func (s *PlatformFeaturesSend) ForceDelete(ctx context.Context, key *edgeproto.PlatformFeaturesKey, modRev int64)

func (*PlatformFeaturesSend) GetMessageName

func (s *PlatformFeaturesSend) GetMessageName() string

func (*PlatformFeaturesSend) GetName

func (s *PlatformFeaturesSend) GetName() string

func (*PlatformFeaturesSend) GetNotifyId

func (s *PlatformFeaturesSend) GetNotifyId() int64

func (*PlatformFeaturesSend) GetSendCount

func (s *PlatformFeaturesSend) GetSendCount() uint64

func (*PlatformFeaturesSend) PrepData

func (s *PlatformFeaturesSend) PrepData() bool

func (*PlatformFeaturesSend) Send

func (s *PlatformFeaturesSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*PlatformFeaturesSend) SendForCloudlet

func (s *PlatformFeaturesSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*PlatformFeaturesSend) SetSendRecv

func (s *PlatformFeaturesSend) SetSendRecv(sendrecv *SendRecv)

func (*PlatformFeaturesSend) Update

func (s *PlatformFeaturesSend) Update(ctx context.Context, obj *edgeproto.PlatformFeatures, modRev int64)

func (*PlatformFeaturesSend) UpdateAll

func (s *PlatformFeaturesSend) UpdateAll(ctx context.Context)

type PlatformFeaturesSendContext

type PlatformFeaturesSendContext struct {
	// contains filtered or unexported fields
}

type PlatformFeaturesSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func (*PlatformFeaturesSendMany) DoneSend

func (s *PlatformFeaturesSendMany) DoneSend(peerAddr string, send NotifySend)

func (*PlatformFeaturesSendMany) GetTypeString

func (s *PlatformFeaturesSendMany) GetTypeString() string

func (*PlatformFeaturesSendMany) NewSend

func (s *PlatformFeaturesSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*PlatformFeaturesSendMany) Update

type RecvAlertHandler

type RecvAlertHandler interface {
	Update(ctx context.Context, in *edgeproto.Alert, rev int64)
	Delete(ctx context.Context, in *edgeproto.Alert, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.AlertKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvAlertPolicyHandler

type RecvAlertPolicyHandler interface {
	Update(ctx context.Context, in *edgeproto.AlertPolicy, rev int64)
	Delete(ctx context.Context, in *edgeproto.AlertPolicy, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.AlertPolicyKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvAppHandler

type RecvAppHandler interface {
	Update(ctx context.Context, in *edgeproto.App, rev int64)
	Delete(ctx context.Context, in *edgeproto.App, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.AppKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvAppInstClientHandler

type RecvAppInstClientHandler interface {
	RecvAppInstClient(ctx context.Context, msg *edgeproto.AppInstClient)
}

type RecvAppInstClientKeyHandler

type RecvAppInstClientKeyHandler interface {
	Update(ctx context.Context, in *edgeproto.AppInstClientKey, rev int64)
	Delete(ctx context.Context, in *edgeproto.AppInstClientKey, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.AppInstClientKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvAppInstHandler

type RecvAppInstHandler interface {
	Update(ctx context.Context, in *edgeproto.AppInst, rev int64)
	Delete(ctx context.Context, in *edgeproto.AppInst, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.AppInstKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvAppInstInfoHandler

type RecvAppInstInfoHandler interface {
	Update(ctx context.Context, in *edgeproto.AppInstInfo, rev int64)
	Delete(ctx context.Context, in *edgeproto.AppInstInfo, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.AppInstKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvAppInstRefsHandler

type RecvAppInstRefsHandler interface {
	Update(ctx context.Context, in *edgeproto.AppInstRefs, rev int64)
	Delete(ctx context.Context, in *edgeproto.AppInstRefs, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.AppKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvAutoProvCountsHandler

type RecvAutoProvCountsHandler interface {
	RecvAutoProvCounts(ctx context.Context, msg *edgeproto.AutoProvCounts)
}

type RecvAutoProvInfoHandler

type RecvAutoProvInfoHandler interface {
	Update(ctx context.Context, in *edgeproto.AutoProvInfo, rev int64)
	Delete(ctx context.Context, in *edgeproto.AutoProvInfo, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.CloudletKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvAutoProvPolicyHandler

type RecvAutoProvPolicyHandler interface {
	Update(ctx context.Context, in *edgeproto.AutoProvPolicy, rev int64)
	Delete(ctx context.Context, in *edgeproto.AutoProvPolicy, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.PolicyKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvAutoScalePolicyHandler

type RecvAutoScalePolicyHandler interface {
	Update(ctx context.Context, in *edgeproto.AutoScalePolicy, rev int64)
	Delete(ctx context.Context, in *edgeproto.AutoScalePolicy, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.PolicyKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvCloudletHandler

type RecvCloudletHandler interface {
	Update(ctx context.Context, in *edgeproto.Cloudlet, rev int64)
	Delete(ctx context.Context, in *edgeproto.Cloudlet, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.CloudletKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvCloudletInfoHandler

type RecvCloudletInfoHandler interface {
	Update(ctx context.Context, in *edgeproto.CloudletInfo, rev int64)
	Delete(ctx context.Context, in *edgeproto.CloudletInfo, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.CloudletKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvCloudletInternalHandler

type RecvCloudletInternalHandler interface {
	Update(ctx context.Context, in *edgeproto.CloudletInternal, rev int64)
	Delete(ctx context.Context, in *edgeproto.CloudletInternal, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.CloudletKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvCloudletNodeHandler

type RecvCloudletNodeHandler interface {
	Update(ctx context.Context, in *edgeproto.CloudletNode, rev int64)
	Delete(ctx context.Context, in *edgeproto.CloudletNode, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.CloudletNodeKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvCloudletPoolHandler

type RecvCloudletPoolHandler interface {
	Update(ctx context.Context, in *edgeproto.CloudletPool, rev int64)
	Delete(ctx context.Context, in *edgeproto.CloudletPool, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.CloudletPoolKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvClusterInstHandler

type RecvClusterInstHandler interface {
	Update(ctx context.Context, in *edgeproto.ClusterInst, rev int64)
	Delete(ctx context.Context, in *edgeproto.ClusterInst, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.ClusterKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvClusterInstInfoHandler

type RecvClusterInstInfoHandler interface {
	Update(ctx context.Context, in *edgeproto.ClusterInstInfo, rev int64)
	Delete(ctx context.Context, in *edgeproto.ClusterInstInfo, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.ClusterKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvClusterRefsHandler

type RecvClusterRefsHandler interface {
	Update(ctx context.Context, in *edgeproto.ClusterRefs, rev int64)
	Delete(ctx context.Context, in *edgeproto.ClusterRefs, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.ClusterKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvDebugReplyHandler

type RecvDebugReplyHandler interface {
	RecvDebugReply(ctx context.Context, msg *edgeproto.DebugReply)
}

type RecvDebugRequestHandler

type RecvDebugRequestHandler interface {
	RecvDebugRequest(ctx context.Context, msg *edgeproto.DebugRequest)
}

type RecvDeviceHandler

type RecvDeviceHandler interface {
	Update(ctx context.Context, in *edgeproto.Device, rev int64)
	Delete(ctx context.Context, in *edgeproto.Device, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.DeviceKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvExecRequestHandler

type RecvExecRequestHandler interface {
	RecvExecRequest(ctx context.Context, msg *edgeproto.ExecRequest)
}

type RecvFedAppInstEventHandler

type RecvFedAppInstEventHandler interface {
	RecvFedAppInstEvent(ctx context.Context, msg *edgeproto.FedAppInstEvent)
}

type RecvFlavorHandler

type RecvFlavorHandler interface {
	Update(ctx context.Context, in *edgeproto.Flavor, rev int64)
	Delete(ctx context.Context, in *edgeproto.Flavor, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.FlavorKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvFlowRateLimitSettingsHandler

type RecvFlowRateLimitSettingsHandler interface {
	Update(ctx context.Context, in *edgeproto.FlowRateLimitSettings, rev int64)
	Delete(ctx context.Context, in *edgeproto.FlowRateLimitSettings, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.FlowRateLimitSettingsKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvGPUDriverHandler

type RecvGPUDriverHandler interface {
	Update(ctx context.Context, in *edgeproto.GPUDriver, rev int64)
	Delete(ctx context.Context, in *edgeproto.GPUDriver, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.GPUDriverKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvMaxReqsRateLimitSettingsHandler

type RecvMaxReqsRateLimitSettingsHandler interface {
	Update(ctx context.Context, in *edgeproto.MaxReqsRateLimitSettings, rev int64)
	Delete(ctx context.Context, in *edgeproto.MaxReqsRateLimitSettings, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.MaxReqsRateLimitSettingsKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvMetricHandler

type RecvMetricHandler interface {
	RecvMetric(ctx context.Context, msg *edgeproto.Metric)
}

type RecvNetworkHandler

type RecvNetworkHandler interface {
	Update(ctx context.Context, in *edgeproto.Network, rev int64)
	Delete(ctx context.Context, in *edgeproto.Network, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.NetworkKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvNodeHandler

type RecvNodeHandler interface {
	Update(ctx context.Context, in *edgeproto.Node, rev int64)
	Delete(ctx context.Context, in *edgeproto.Node, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.NodeKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvOperatorCodeHandler

type RecvOperatorCodeHandler interface {
	Update(ctx context.Context, in *edgeproto.OperatorCode, rev int64)
	Delete(ctx context.Context, in *edgeproto.OperatorCode, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.OperatorCodeKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvPlatformFeaturesHandler

type RecvPlatformFeaturesHandler interface {
	Update(ctx context.Context, in *edgeproto.PlatformFeatures, rev int64)
	Delete(ctx context.Context, in *edgeproto.PlatformFeatures, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.PlatformFeaturesKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvResTagTableHandler

type RecvResTagTableHandler interface {
	Update(ctx context.Context, in *edgeproto.ResTagTable, rev int64)
	Delete(ctx context.Context, in *edgeproto.ResTagTable, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.ResTagTableKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvSettingsHandler

type RecvSettingsHandler interface {
	Update(ctx context.Context, in *edgeproto.Settings, rev int64)
	Delete(ctx context.Context, in *edgeproto.Settings, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.SettingsKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvStreamStatusHandler

type RecvStreamStatusHandler interface {
	RecvStreamStatus(ctx context.Context, msg *edgeproto.StreamStatus)
}

type RecvTPEInstanceStateHandler

type RecvTPEInstanceStateHandler interface {
	Update(ctx context.Context, in *edgeproto.TPEInstanceState, rev int64)
	Delete(ctx context.Context, in *edgeproto.TPEInstanceState, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.TPEInstanceKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvTrustPolicyExceptionHandler

type RecvTrustPolicyExceptionHandler interface {
	Update(ctx context.Context, in *edgeproto.TrustPolicyException, rev int64)
	Delete(ctx context.Context, in *edgeproto.TrustPolicyException, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.TrustPolicyExceptionKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvTrustPolicyHandler

type RecvTrustPolicyHandler interface {
	Update(ctx context.Context, in *edgeproto.TrustPolicy, rev int64)
	Delete(ctx context.Context, in *edgeproto.TrustPolicy, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.PolicyKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvVMPoolHandler

type RecvVMPoolHandler interface {
	Update(ctx context.Context, in *edgeproto.VMPool, rev int64)
	Delete(ctx context.Context, in *edgeproto.VMPool, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.VMPoolKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type RecvVMPoolInfoHandler

type RecvVMPoolInfoHandler interface {
	Update(ctx context.Context, in *edgeproto.VMPoolInfo, rev int64)
	Delete(ctx context.Context, in *edgeproto.VMPoolInfo, rev int64)
	Prune(ctx context.Context, keys map[edgeproto.VMPoolKey]struct{})
	Flush(ctx context.Context, notifyId int64)
}

type ResTagTableCacheHandler

type ResTagTableCacheHandler interface {
	SendResTagTableHandler
	RecvResTagTableHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.ResTagTable, modRev int64))
}

type ResTagTableRecv

type ResTagTableRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewResTagTableRecv

func NewResTagTableRecv(handler RecvResTagTableHandler) *ResTagTableRecv

func (*ResTagTableRecv) Flush

func (s *ResTagTableRecv) Flush(ctx context.Context, notifyId int64)

func (*ResTagTableRecv) GetMessageName

func (s *ResTagTableRecv) GetMessageName() string

func (*ResTagTableRecv) GetName

func (s *ResTagTableRecv) GetName() string

func (*ResTagTableRecv) GetRecvCount

func (s *ResTagTableRecv) GetRecvCount() uint64

func (*ResTagTableRecv) Recv

func (s *ResTagTableRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*ResTagTableRecv) RecvAllEnd

func (s *ResTagTableRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*ResTagTableRecv) RecvAllStart

func (s *ResTagTableRecv) RecvAllStart()

func (*ResTagTableRecv) SetSendRecv

func (s *ResTagTableRecv) SetSendRecv(sendrecv *SendRecv)

type ResTagTableRecvMany

type ResTagTableRecvMany struct {
	// contains filtered or unexported fields
}

func NewResTagTableRecvMany

func NewResTagTableRecvMany(handler RecvResTagTableHandler) *ResTagTableRecvMany

func (*ResTagTableRecvMany) Flush

func (s *ResTagTableRecvMany) Flush(ctx context.Context, notifyId int64)

func (*ResTagTableRecvMany) NewRecv

func (s *ResTagTableRecvMany) NewRecv() NotifyRecv

type ResTagTableSend

type ResTagTableSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.ResTagTableKey]ResTagTableSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewResTagTableSend

func NewResTagTableSend(handler SendResTagTableHandler) *ResTagTableSend

func (*ResTagTableSend) ForceDelete

func (s *ResTagTableSend) ForceDelete(ctx context.Context, key *edgeproto.ResTagTableKey, modRev int64)

func (*ResTagTableSend) GetMessageName

func (s *ResTagTableSend) GetMessageName() string

func (*ResTagTableSend) GetName

func (s *ResTagTableSend) GetName() string

func (*ResTagTableSend) GetNotifyId

func (s *ResTagTableSend) GetNotifyId() int64

func (*ResTagTableSend) GetSendCount

func (s *ResTagTableSend) GetSendCount() uint64

func (*ResTagTableSend) PrepData

func (s *ResTagTableSend) PrepData() bool

func (*ResTagTableSend) Send

func (s *ResTagTableSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*ResTagTableSend) SendForCloudlet

func (s *ResTagTableSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*ResTagTableSend) SetSendRecv

func (s *ResTagTableSend) SetSendRecv(sendrecv *SendRecv)

func (*ResTagTableSend) Update

func (s *ResTagTableSend) Update(ctx context.Context, obj *edgeproto.ResTagTable, modRev int64)

func (*ResTagTableSend) UpdateAll

func (s *ResTagTableSend) UpdateAll(ctx context.Context)

type ResTagTableSendContext

type ResTagTableSendContext struct {
	// contains filtered or unexported fields
}

type ResTagTableSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewResTagTableSendMany

func NewResTagTableSendMany(handler SendResTagTableHandler) *ResTagTableSendMany

func (*ResTagTableSendMany) DoneSend

func (s *ResTagTableSendMany) DoneSend(peerAddr string, send NotifySend)

func (*ResTagTableSendMany) GetTypeString

func (s *ResTagTableSendMany) GetTypeString() string

func (*ResTagTableSendMany) NewSend

func (s *ResTagTableSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*ResTagTableSendMany) Update

func (s *ResTagTableSendMany) Update(ctx context.Context, obj *edgeproto.ResTagTable, modRev int64)

type SendAlertHandler

type SendAlertHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.Alert, modRev int64))
	GetWithRev(key *edgeproto.AlertKey, buf *edgeproto.Alert, modRev *int64) bool
}

type SendAlertPolicyHandler

type SendAlertPolicyHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.AlertPolicy, modRev int64))
	GetWithRev(key *edgeproto.AlertPolicyKey, buf *edgeproto.AlertPolicy, modRev *int64) bool
}

type SendAllRecv

type SendAllRecv interface {
	// Called when SendAllStart is received
	RecvAllStart()
	// Called when SendAllEnd is received
	RecvAllEnd(ctx context.Context)
}

type SendAppHandler

type SendAppHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.App, modRev int64))
	GetWithRev(key *edgeproto.AppKey, buf *edgeproto.App, modRev *int64) bool
}

type SendAppInstClientKeyHandler

type SendAppInstClientKeyHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.AppInstClientKey, modRev int64))
	GetWithRev(key *edgeproto.AppInstClientKey, buf *edgeproto.AppInstClientKey, modRev *int64) bool
}

type SendAppInstHandler

type SendAppInstHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.AppInst, modRev int64))
	GetWithRev(key *edgeproto.AppInstKey, buf *edgeproto.AppInst, modRev *int64) bool
	GetForCloudlet(cloudlet *edgeproto.Cloudlet, cb func(data *edgeproto.AppInstCacheData))
}

type SendAppInstInfoHandler

type SendAppInstInfoHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.AppInstInfo, modRev int64))
	GetWithRev(key *edgeproto.AppInstKey, buf *edgeproto.AppInstInfo, modRev *int64) bool
}

type SendAppInstRefsHandler

type SendAppInstRefsHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.AppInstRefs, modRev int64))
	GetWithRev(key *edgeproto.AppKey, buf *edgeproto.AppInstRefs, modRev *int64) bool
}

type SendAutoProvInfoHandler

type SendAutoProvInfoHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.AutoProvInfo, modRev int64))
	GetWithRev(key *edgeproto.CloudletKey, buf *edgeproto.AutoProvInfo, modRev *int64) bool
}

type SendAutoProvPolicyHandler

type SendAutoProvPolicyHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.AutoProvPolicy, modRev int64))
	GetWithRev(key *edgeproto.PolicyKey, buf *edgeproto.AutoProvPolicy, modRev *int64) bool
}

type SendAutoScalePolicyHandler

type SendAutoScalePolicyHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.AutoScalePolicy, modRev int64))
	GetWithRev(key *edgeproto.PolicyKey, buf *edgeproto.AutoScalePolicy, modRev *int64) bool
}

type SendCloudletHandler

type SendCloudletHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.Cloudlet, modRev int64))
	GetWithRev(key *edgeproto.CloudletKey, buf *edgeproto.Cloudlet, modRev *int64) bool
}

type SendCloudletInfoHandler

type SendCloudletInfoHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.CloudletInfo, modRev int64))
	GetWithRev(key *edgeproto.CloudletKey, buf *edgeproto.CloudletInfo, modRev *int64) bool
}

type SendCloudletInternalHandler

type SendCloudletInternalHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.CloudletInternal, modRev int64))
	GetWithRev(key *edgeproto.CloudletKey, buf *edgeproto.CloudletInternal, modRev *int64) bool
}

type SendCloudletNodeHandler

type SendCloudletNodeHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.CloudletNode, modRev int64))
	GetWithRev(key *edgeproto.CloudletNodeKey, buf *edgeproto.CloudletNode, modRev *int64) bool
	GetForCloudlet(cloudlet *edgeproto.Cloudlet, cb func(data *edgeproto.CloudletNodeCacheData))
}

type SendCloudletPoolHandler

type SendCloudletPoolHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.CloudletPool, modRev int64))
	GetWithRev(key *edgeproto.CloudletPoolKey, buf *edgeproto.CloudletPool, modRev *int64) bool
}

type SendClusterInstHandler

type SendClusterInstHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.ClusterInst, modRev int64))
	GetWithRev(key *edgeproto.ClusterKey, buf *edgeproto.ClusterInst, modRev *int64) bool
	GetForCloudlet(cloudlet *edgeproto.Cloudlet, cb func(data *edgeproto.ClusterInstCacheData))
}

type SendClusterInstInfoHandler

type SendClusterInstInfoHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.ClusterInstInfo, modRev int64))
	GetWithRev(key *edgeproto.ClusterKey, buf *edgeproto.ClusterInstInfo, modRev *int64) bool
}

type SendClusterRefsHandler

type SendClusterRefsHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.ClusterRefs, modRev int64))
	GetWithRev(key *edgeproto.ClusterKey, buf *edgeproto.ClusterRefs, modRev *int64) bool
}

type SendDeviceHandler

type SendDeviceHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.Device, modRev int64))
	GetWithRev(key *edgeproto.DeviceKey, buf *edgeproto.Device, modRev *int64) bool
}

type SendFlavorHandler

type SendFlavorHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.Flavor, modRev int64))
	GetWithRev(key *edgeproto.FlavorKey, buf *edgeproto.Flavor, modRev *int64) bool
}

type SendFlowRateLimitSettingsHandler

type SendFlowRateLimitSettingsHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.FlowRateLimitSettings, modRev int64))
	GetWithRev(key *edgeproto.FlowRateLimitSettingsKey, buf *edgeproto.FlowRateLimitSettings, modRev *int64) bool
}

type SendGPUDriverHandler

type SendGPUDriverHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.GPUDriver, modRev int64))
	GetWithRev(key *edgeproto.GPUDriverKey, buf *edgeproto.GPUDriver, modRev *int64) bool
	GetForCloudlet(cloudlet *edgeproto.Cloudlet, cb func(data *edgeproto.GPUDriverCacheData))
}

type SendMaxReqsRateLimitSettingsHandler

type SendMaxReqsRateLimitSettingsHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.MaxReqsRateLimitSettings, modRev int64))
	GetWithRev(key *edgeproto.MaxReqsRateLimitSettingsKey, buf *edgeproto.MaxReqsRateLimitSettings, modRev *int64) bool
}

type SendNetworkHandler

type SendNetworkHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.Network, modRev int64))
	GetWithRev(key *edgeproto.NetworkKey, buf *edgeproto.Network, modRev *int64) bool
}

type SendNodeHandler

type SendNodeHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.Node, modRev int64))
	GetWithRev(key *edgeproto.NodeKey, buf *edgeproto.Node, modRev *int64) bool
}

type SendOperatorCodeHandler

type SendOperatorCodeHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.OperatorCode, modRev int64))
	GetWithRev(key *edgeproto.OperatorCodeKey, buf *edgeproto.OperatorCode, modRev *int64) bool
}

type SendPlatformFeaturesHandler

type SendPlatformFeaturesHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.PlatformFeatures, modRev int64))
	GetWithRev(key *edgeproto.PlatformFeaturesKey, buf *edgeproto.PlatformFeatures, modRev *int64) bool
}

type SendRecv

type SendRecv struct {
	// contains filtered or unexported fields
}

type SendResTagTableHandler

type SendResTagTableHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.ResTagTable, modRev int64))
	GetWithRev(key *edgeproto.ResTagTableKey, buf *edgeproto.ResTagTable, modRev *int64) bool
}

type SendSettingsHandler

type SendSettingsHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.Settings, modRev int64))
	GetWithRev(key *edgeproto.SettingsKey, buf *edgeproto.Settings, modRev *int64) bool
}

type SendTPEInstanceStateHandler

type SendTPEInstanceStateHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.TPEInstanceState, modRev int64))
	GetWithRev(key *edgeproto.TPEInstanceKey, buf *edgeproto.TPEInstanceState, modRev *int64) bool
	GetForCloudlet(cloudlet *edgeproto.Cloudlet, cb func(data *edgeproto.TPEInstanceStateCacheData))
}

type SendTrustPolicyExceptionHandler

type SendTrustPolicyExceptionHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.TrustPolicyException, modRev int64))
	GetWithRev(key *edgeproto.TrustPolicyExceptionKey, buf *edgeproto.TrustPolicyException, modRev *int64) bool
	GetForCloudlet(cloudlet *edgeproto.Cloudlet, cb func(data *edgeproto.TrustPolicyExceptionCacheData))
}

type SendTrustPolicyHandler

type SendTrustPolicyHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.TrustPolicy, modRev int64))
	GetWithRev(key *edgeproto.PolicyKey, buf *edgeproto.TrustPolicy, modRev *int64) bool
}

type SendVMPoolHandler

type SendVMPoolHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.VMPool, modRev int64))
	GetWithRev(key *edgeproto.VMPoolKey, buf *edgeproto.VMPool, modRev *int64) bool
	GetForCloudlet(cloudlet *edgeproto.Cloudlet, cb func(data *edgeproto.VMPoolCacheData))
}

type SendVMPoolInfoHandler

type SendVMPoolInfoHandler interface {
	GetAllLocked(ctx context.Context, cb func(key *edgeproto.VMPoolInfo, modRev int64))
	GetWithRev(key *edgeproto.VMPoolKey, buf *edgeproto.VMPoolInfo, modRev *int64) bool
}

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server is on the upstream side and sends data to downstream clients. On first connect, it will send all data from the database that is required by the client. After that it will send objects only when they are changed.

func (*Server) Stop

func (s *Server) Stop()

type ServerMgr

type ServerMgr struct {
	// contains filtered or unexported fields
}

ServerMgr maintains all the Server threads for clients connected to us.

var ServerMgrOne ServerMgr

func (*ServerMgr) GetSendOrder

func (s *ServerMgr) GetSendOrder() map[string]int

Get order of sends based on SendAll type

func (*ServerMgr) GetState

func (s *ServerMgr) GetState() *ServerMgrState

func (*ServerMgr) GetStats

func (mgr *ServerMgr) GetStats(peerAddr string) *Stats

func (*ServerMgr) RegisterRecv

func (mgr *ServerMgr) RegisterRecv(recvMany NotifyRecvMany)

func (*ServerMgr) RegisterRecvAlertCache

func (mgr *ServerMgr) RegisterRecvAlertCache(cache AlertCacheHandler)

func (*ServerMgr) RegisterRecvAlertPolicyCache

func (mgr *ServerMgr) RegisterRecvAlertPolicyCache(cache AlertPolicyCacheHandler)

func (*ServerMgr) RegisterRecvAppCache

func (mgr *ServerMgr) RegisterRecvAppCache(cache AppCacheHandler)

func (*ServerMgr) RegisterRecvAppInstCache

func (mgr *ServerMgr) RegisterRecvAppInstCache(cache AppInstCacheHandler)

func (*ServerMgr) RegisterRecvAppInstClientKeyCache

func (mgr *ServerMgr) RegisterRecvAppInstClientKeyCache(cache AppInstClientKeyCacheHandler)

func (*ServerMgr) RegisterRecvAppInstInfoCache

func (mgr *ServerMgr) RegisterRecvAppInstInfoCache(cache AppInstInfoCacheHandler)

func (*ServerMgr) RegisterRecvAppInstRefsCache

func (mgr *ServerMgr) RegisterRecvAppInstRefsCache(cache AppInstRefsCacheHandler)

func (*ServerMgr) RegisterRecvAutoProvInfoCache

func (mgr *ServerMgr) RegisterRecvAutoProvInfoCache(cache AutoProvInfoCacheHandler)

func (*ServerMgr) RegisterRecvAutoProvPolicyCache

func (mgr *ServerMgr) RegisterRecvAutoProvPolicyCache(cache AutoProvPolicyCacheHandler)

func (*ServerMgr) RegisterRecvAutoScalePolicyCache

func (mgr *ServerMgr) RegisterRecvAutoScalePolicyCache(cache AutoScalePolicyCacheHandler)

func (*ServerMgr) RegisterRecvCloudletCache

func (mgr *ServerMgr) RegisterRecvCloudletCache(cache CloudletCacheHandler)

func (*ServerMgr) RegisterRecvCloudletInfoCache

func (mgr *ServerMgr) RegisterRecvCloudletInfoCache(cache CloudletInfoCacheHandler)

func (*ServerMgr) RegisterRecvCloudletInternalCache

func (mgr *ServerMgr) RegisterRecvCloudletInternalCache(cache CloudletInternalCacheHandler)

func (*ServerMgr) RegisterRecvCloudletNodeCache

func (mgr *ServerMgr) RegisterRecvCloudletNodeCache(cache CloudletNodeCacheHandler)

func (*ServerMgr) RegisterRecvCloudletPoolCache

func (mgr *ServerMgr) RegisterRecvCloudletPoolCache(cache CloudletPoolCacheHandler)

func (*ServerMgr) RegisterRecvClusterInstCache

func (mgr *ServerMgr) RegisterRecvClusterInstCache(cache ClusterInstCacheHandler)

func (*ServerMgr) RegisterRecvClusterInstInfoCache

func (mgr *ServerMgr) RegisterRecvClusterInstInfoCache(cache ClusterInstInfoCacheHandler)

func (*ServerMgr) RegisterRecvClusterRefsCache

func (mgr *ServerMgr) RegisterRecvClusterRefsCache(cache ClusterRefsCacheHandler)

func (*ServerMgr) RegisterRecvDeviceCache

func (mgr *ServerMgr) RegisterRecvDeviceCache(cache DeviceCacheHandler)

func (*ServerMgr) RegisterRecvFlavorCache

func (mgr *ServerMgr) RegisterRecvFlavorCache(cache FlavorCacheHandler)

func (*ServerMgr) RegisterRecvFlowRateLimitSettingsCache

func (mgr *ServerMgr) RegisterRecvFlowRateLimitSettingsCache(cache FlowRateLimitSettingsCacheHandler)

func (*ServerMgr) RegisterRecvGPUDriverCache

func (mgr *ServerMgr) RegisterRecvGPUDriverCache(cache GPUDriverCacheHandler)

func (*ServerMgr) RegisterRecvMaxReqsRateLimitSettingsCache

func (mgr *ServerMgr) RegisterRecvMaxReqsRateLimitSettingsCache(cache MaxReqsRateLimitSettingsCacheHandler)

func (*ServerMgr) RegisterRecvNetworkCache

func (mgr *ServerMgr) RegisterRecvNetworkCache(cache NetworkCacheHandler)

func (*ServerMgr) RegisterRecvNodeCache

func (mgr *ServerMgr) RegisterRecvNodeCache(cache NodeCacheHandler)

func (*ServerMgr) RegisterRecvOperatorCodeCache

func (mgr *ServerMgr) RegisterRecvOperatorCodeCache(cache OperatorCodeCacheHandler)

func (*ServerMgr) RegisterRecvPlatformFeaturesCache

func (mgr *ServerMgr) RegisterRecvPlatformFeaturesCache(cache PlatformFeaturesCacheHandler)

func (*ServerMgr) RegisterRecvResTagTableCache

func (mgr *ServerMgr) RegisterRecvResTagTableCache(cache ResTagTableCacheHandler)

func (*ServerMgr) RegisterRecvSettingsCache

func (mgr *ServerMgr) RegisterRecvSettingsCache(cache SettingsCacheHandler)

func (*ServerMgr) RegisterRecvTPEInstanceStateCache

func (mgr *ServerMgr) RegisterRecvTPEInstanceStateCache(cache TPEInstanceStateCacheHandler)

func (*ServerMgr) RegisterRecvTrustPolicyCache

func (mgr *ServerMgr) RegisterRecvTrustPolicyCache(cache TrustPolicyCacheHandler)

func (*ServerMgr) RegisterRecvTrustPolicyExceptionCache

func (mgr *ServerMgr) RegisterRecvTrustPolicyExceptionCache(cache TrustPolicyExceptionCacheHandler)

func (*ServerMgr) RegisterRecvVMPoolCache

func (mgr *ServerMgr) RegisterRecvVMPoolCache(cache VMPoolCacheHandler)

func (*ServerMgr) RegisterRecvVMPoolInfoCache

func (mgr *ServerMgr) RegisterRecvVMPoolInfoCache(cache VMPoolInfoCacheHandler)

func (*ServerMgr) RegisterSend

func (mgr *ServerMgr) RegisterSend(sendMany NotifySendMany)

func (*ServerMgr) RegisterSendAlertCache

func (mgr *ServerMgr) RegisterSendAlertCache(cache AlertCacheHandler)

func (*ServerMgr) RegisterSendAlertPolicyCache

func (mgr *ServerMgr) RegisterSendAlertPolicyCache(cache AlertPolicyCacheHandler)

func (*ServerMgr) RegisterSendAppCache

func (mgr *ServerMgr) RegisterSendAppCache(cache AppCacheHandler)

func (*ServerMgr) RegisterSendAppInstCache

func (mgr *ServerMgr) RegisterSendAppInstCache(cache AppInstCacheHandler)

func (*ServerMgr) RegisterSendAppInstClientKeyCache

func (mgr *ServerMgr) RegisterSendAppInstClientKeyCache(cache AppInstClientKeyCacheHandler)

func (*ServerMgr) RegisterSendAppInstInfoCache

func (mgr *ServerMgr) RegisterSendAppInstInfoCache(cache AppInstInfoCacheHandler)

func (*ServerMgr) RegisterSendAppInstRefsCache

func (mgr *ServerMgr) RegisterSendAppInstRefsCache(cache AppInstRefsCacheHandler)

func (*ServerMgr) RegisterSendAutoProvInfoCache

func (mgr *ServerMgr) RegisterSendAutoProvInfoCache(cache AutoProvInfoCacheHandler)

func (*ServerMgr) RegisterSendAutoProvPolicyCache

func (mgr *ServerMgr) RegisterSendAutoProvPolicyCache(cache AutoProvPolicyCacheHandler)

func (*ServerMgr) RegisterSendAutoScalePolicyCache

func (mgr *ServerMgr) RegisterSendAutoScalePolicyCache(cache AutoScalePolicyCacheHandler)

func (*ServerMgr) RegisterSendCloudletCache

func (mgr *ServerMgr) RegisterSendCloudletCache(cache CloudletCacheHandler)

func (*ServerMgr) RegisterSendCloudletInfoCache

func (mgr *ServerMgr) RegisterSendCloudletInfoCache(cache CloudletInfoCacheHandler)

func (*ServerMgr) RegisterSendCloudletInternalCache

func (mgr *ServerMgr) RegisterSendCloudletInternalCache(cache CloudletInternalCacheHandler)

func (*ServerMgr) RegisterSendCloudletNodeCache

func (mgr *ServerMgr) RegisterSendCloudletNodeCache(cache CloudletNodeCacheHandler)

func (*ServerMgr) RegisterSendCloudletPoolCache

func (mgr *ServerMgr) RegisterSendCloudletPoolCache(cache CloudletPoolCacheHandler)

func (*ServerMgr) RegisterSendClusterInstCache

func (mgr *ServerMgr) RegisterSendClusterInstCache(cache ClusterInstCacheHandler)

func (*ServerMgr) RegisterSendClusterInstInfoCache

func (mgr *ServerMgr) RegisterSendClusterInstInfoCache(cache ClusterInstInfoCacheHandler)

func (*ServerMgr) RegisterSendClusterRefsCache

func (mgr *ServerMgr) RegisterSendClusterRefsCache(cache ClusterRefsCacheHandler)

func (*ServerMgr) RegisterSendDeviceCache

func (mgr *ServerMgr) RegisterSendDeviceCache(cache DeviceCacheHandler)

func (*ServerMgr) RegisterSendFlavorCache

func (mgr *ServerMgr) RegisterSendFlavorCache(cache FlavorCacheHandler)

func (*ServerMgr) RegisterSendFlowRateLimitSettingsCache

func (mgr *ServerMgr) RegisterSendFlowRateLimitSettingsCache(cache FlowRateLimitSettingsCacheHandler)

func (*ServerMgr) RegisterSendGPUDriverCache

func (mgr *ServerMgr) RegisterSendGPUDriverCache(cache GPUDriverCacheHandler)

func (*ServerMgr) RegisterSendMaxReqsRateLimitSettingsCache

func (mgr *ServerMgr) RegisterSendMaxReqsRateLimitSettingsCache(cache MaxReqsRateLimitSettingsCacheHandler)

func (*ServerMgr) RegisterSendNetworkCache

func (mgr *ServerMgr) RegisterSendNetworkCache(cache NetworkCacheHandler)

func (*ServerMgr) RegisterSendNodeCache

func (mgr *ServerMgr) RegisterSendNodeCache(cache NodeCacheHandler)

func (*ServerMgr) RegisterSendOperatorCodeCache

func (mgr *ServerMgr) RegisterSendOperatorCodeCache(cache OperatorCodeCacheHandler)

func (*ServerMgr) RegisterSendPlatformFeaturesCache

func (mgr *ServerMgr) RegisterSendPlatformFeaturesCache(cache PlatformFeaturesCacheHandler)

func (*ServerMgr) RegisterSendResTagTableCache

func (mgr *ServerMgr) RegisterSendResTagTableCache(cache ResTagTableCacheHandler)

func (*ServerMgr) RegisterSendSettingsCache

func (mgr *ServerMgr) RegisterSendSettingsCache(cache SettingsCacheHandler)

func (*ServerMgr) RegisterSendTPEInstanceStateCache

func (mgr *ServerMgr) RegisterSendTPEInstanceStateCache(cache TPEInstanceStateCacheHandler)

func (*ServerMgr) RegisterSendTrustPolicyCache

func (mgr *ServerMgr) RegisterSendTrustPolicyCache(cache TrustPolicyCacheHandler)

func (*ServerMgr) RegisterSendTrustPolicyExceptionCache

func (mgr *ServerMgr) RegisterSendTrustPolicyExceptionCache(cache TrustPolicyExceptionCacheHandler)

func (*ServerMgr) RegisterSendVMPoolCache

func (mgr *ServerMgr) RegisterSendVMPoolCache(cache VMPoolCacheHandler)

func (*ServerMgr) RegisterSendVMPoolInfoCache

func (mgr *ServerMgr) RegisterSendVMPoolInfoCache(cache VMPoolInfoCacheHandler)

func (*ServerMgr) RegisterServerCb

func (mgr *ServerMgr) RegisterServerCb(registerServer func(s *grpc.Server))

func (*ServerMgr) Start

func (mgr *ServerMgr) Start(name, addr string, tlsConfig *tls.Config, ops ...ServerOp)

func (*ServerMgr) Stop

func (mgr *ServerMgr) Stop()

func (*ServerMgr) StreamNotice

func (mgr *ServerMgr) StreamNotice(stream edgeproto.NotifyApi_StreamNoticeServer) error

func (*ServerMgr) WaitServerCount

func (mgr *ServerMgr) WaitServerCount(count int) error

type ServerMgrState

type ServerMgrState struct {
	Name        string
	Connections []ConnState
}

type ServerOp

type ServerOp func(s *ServerOptions)

func ServerStreamInterceptor

func ServerStreamInterceptor(streamInterceptor grpc.ServerOption) ServerOp

func ServerUnaryInterceptor

func ServerUnaryInterceptor(unaryInterceptor grpc.ServerOption) ServerOp

type ServerOptions

type ServerOptions struct {
	// contains filtered or unexported fields
}

type SettingsCacheHandler

type SettingsCacheHandler interface {
	SendSettingsHandler
	RecvSettingsHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.Settings, modRev int64))
}

type SettingsRecv

type SettingsRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func GlobalSettingsRecv

func GlobalSettingsRecv(settings *edgeproto.Settings, updatedCb func(ctx context.Context, old *edgeproto.Settings, new *edgeproto.Settings)) *SettingsRecv

func NewSettingsRecv

func NewSettingsRecv(handler RecvSettingsHandler) *SettingsRecv

func (*SettingsRecv) Flush

func (s *SettingsRecv) Flush(ctx context.Context, notifyId int64)

func (*SettingsRecv) GetMessageName

func (s *SettingsRecv) GetMessageName() string

func (*SettingsRecv) GetName

func (s *SettingsRecv) GetName() string

func (*SettingsRecv) GetRecvCount

func (s *SettingsRecv) GetRecvCount() uint64

func (*SettingsRecv) Recv

func (s *SettingsRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*SettingsRecv) RecvAllEnd

func (s *SettingsRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*SettingsRecv) RecvAllStart

func (s *SettingsRecv) RecvAllStart()

func (*SettingsRecv) SetSendRecv

func (s *SettingsRecv) SetSendRecv(sendrecv *SendRecv)

type SettingsRecvMany

type SettingsRecvMany struct {
	// contains filtered or unexported fields
}

func NewSettingsRecvMany

func NewSettingsRecvMany(handler RecvSettingsHandler) *SettingsRecvMany

func (*SettingsRecvMany) Flush

func (s *SettingsRecvMany) Flush(ctx context.Context, notifyId int64)

func (*SettingsRecvMany) NewRecv

func (s *SettingsRecvMany) NewRecv() NotifyRecv

type SettingsSend

type SettingsSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.SettingsKey]SettingsSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewSettingsSend

func NewSettingsSend(handler SendSettingsHandler) *SettingsSend

func (*SettingsSend) ForceDelete

func (s *SettingsSend) ForceDelete(ctx context.Context, key *edgeproto.SettingsKey, modRev int64)

func (*SettingsSend) GetMessageName

func (s *SettingsSend) GetMessageName() string

func (*SettingsSend) GetName

func (s *SettingsSend) GetName() string

func (*SettingsSend) GetNotifyId

func (s *SettingsSend) GetNotifyId() int64

func (*SettingsSend) GetSendCount

func (s *SettingsSend) GetSendCount() uint64

func (*SettingsSend) PrepData

func (s *SettingsSend) PrepData() bool

func (*SettingsSend) Send

func (s *SettingsSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*SettingsSend) SendForCloudlet

func (s *SettingsSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*SettingsSend) SetSendRecv

func (s *SettingsSend) SetSendRecv(sendrecv *SendRecv)

func (*SettingsSend) Update

func (s *SettingsSend) Update(ctx context.Context, obj *edgeproto.Settings, modRev int64)

func (*SettingsSend) UpdateAll

func (s *SettingsSend) UpdateAll(ctx context.Context)

type SettingsSendContext

type SettingsSendContext struct {
	// contains filtered or unexported fields
}

type SettingsSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewSettingsSendMany

func NewSettingsSendMany(handler SendSettingsHandler) *SettingsSendMany

func (*SettingsSendMany) DoneSend

func (s *SettingsSendMany) DoneSend(peerAddr string, send NotifySend)

func (*SettingsSendMany) GetTypeString

func (s *SettingsSendMany) GetTypeString() string

func (*SettingsSendMany) NewSend

func (s *SettingsSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*SettingsSendMany) Update

func (s *SettingsSendMany) Update(ctx context.Context, obj *edgeproto.Settings, modRev int64)

type Stats

type Stats struct {
	Tries           uint64
	Connects        uint64
	NegotiateErrors uint64
	SendAll         uint64
	SendAllEnd      uint64
	Send            uint64
	Recv            uint64
	RecvErrors      uint64
	SendErrors      uint64
	MarshalErrors   uint64
	UnmarshalErrors uint64
	ObjSend         map[string]uint64
	ObjRecv         map[string]uint64
}

type StreamNotify

type StreamNotify interface {
	Send(*edgeproto.Notice) error
	Recv() (*edgeproto.Notice, error)
	grpc.Stream
}

type StreamStatusRecv

type StreamStatusRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewStreamStatusRecv

func NewStreamStatusRecv(handler RecvStreamStatusHandler) *StreamStatusRecv

func (*StreamStatusRecv) GetMessageName

func (s *StreamStatusRecv) GetMessageName() string

func (*StreamStatusRecv) GetName

func (s *StreamStatusRecv) GetName() string

func (*StreamStatusRecv) GetRecvCount

func (s *StreamStatusRecv) GetRecvCount() uint64

func (*StreamStatusRecv) Recv

func (s *StreamStatusRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*StreamStatusRecv) RecvAllEnd

func (s *StreamStatusRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*StreamStatusRecv) RecvAllStart

func (s *StreamStatusRecv) RecvAllStart()

func (*StreamStatusRecv) SetSendRecv

func (s *StreamStatusRecv) SetSendRecv(sendrecv *SendRecv)

type StreamStatusRecvMany

type StreamStatusRecvMany struct {
	// contains filtered or unexported fields
}

func NewStreamStatusRecvMany

func NewStreamStatusRecvMany(handler RecvStreamStatusHandler) *StreamStatusRecvMany

func (*StreamStatusRecvMany) Flush

func (s *StreamStatusRecvMany) Flush(ctx context.Context, notifyId int64)

func (*StreamStatusRecvMany) NewRecv

func (s *StreamStatusRecvMany) NewRecv() NotifyRecv

type StreamStatusSend

type StreamStatusSend struct {
	Name        string
	MessageName string
	Data        []*edgeproto.StreamStatus

	Ctxs []context.Context

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewStreamStatusSend

func NewStreamStatusSend() *StreamStatusSend

func (*StreamStatusSend) GetMessageName

func (s *StreamStatusSend) GetMessageName() string

func (*StreamStatusSend) GetName

func (s *StreamStatusSend) GetName() string

func (*StreamStatusSend) GetNotifyId

func (s *StreamStatusSend) GetNotifyId() int64

func (*StreamStatusSend) GetSendCount

func (s *StreamStatusSend) GetSendCount() uint64

func (*StreamStatusSend) PrepData

func (s *StreamStatusSend) PrepData() bool

func (*StreamStatusSend) Send

func (s *StreamStatusSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*StreamStatusSend) SendForCloudlet

func (s *StreamStatusSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*StreamStatusSend) SetSendRecv

func (s *StreamStatusSend) SetSendRecv(sendrecv *SendRecv)

func (*StreamStatusSend) Update

func (*StreamStatusSend) UpdateAll

func (s *StreamStatusSend) UpdateAll(ctx context.Context)

type StreamStatusSendContext

type StreamStatusSendContext struct {
	// contains filtered or unexported fields
}

type StreamStatusSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewStreamStatusSendMany

func NewStreamStatusSendMany() *StreamStatusSendMany

func (*StreamStatusSendMany) DoneSend

func (s *StreamStatusSendMany) DoneSend(peerAddr string, send NotifySend)

func (*StreamStatusSendMany) GetTypeString

func (s *StreamStatusSendMany) GetTypeString() string

func (*StreamStatusSendMany) NewSend

func (s *StreamStatusSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*StreamStatusSendMany) Update

func (*StreamStatusSendMany) UpdateFiltered

func (s *StreamStatusSendMany) UpdateFiltered(ctx context.Context, msg *edgeproto.StreamStatus, sendOk func(ctx context.Context, send *StreamStatusSend, msg *edgeproto.StreamStatus) bool) int

type TPEInstanceStateCacheHandler

type TPEInstanceStateCacheHandler interface {
	SendTPEInstanceStateHandler
	RecvTPEInstanceStateHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.TPEInstanceState, modRev int64))
}

type TPEInstanceStateRecv

type TPEInstanceStateRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewTPEInstanceStateRecv

func NewTPEInstanceStateRecv(handler RecvTPEInstanceStateHandler) *TPEInstanceStateRecv

func (*TPEInstanceStateRecv) Flush

func (s *TPEInstanceStateRecv) Flush(ctx context.Context, notifyId int64)

func (*TPEInstanceStateRecv) GetMessageName

func (s *TPEInstanceStateRecv) GetMessageName() string

func (*TPEInstanceStateRecv) GetName

func (s *TPEInstanceStateRecv) GetName() string

func (*TPEInstanceStateRecv) GetRecvCount

func (s *TPEInstanceStateRecv) GetRecvCount() uint64

func (*TPEInstanceStateRecv) Recv

func (s *TPEInstanceStateRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*TPEInstanceStateRecv) RecvAllEnd

func (s *TPEInstanceStateRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*TPEInstanceStateRecv) RecvAllStart

func (s *TPEInstanceStateRecv) RecvAllStart()

func (*TPEInstanceStateRecv) SetSendRecv

func (s *TPEInstanceStateRecv) SetSendRecv(sendrecv *SendRecv)

type TPEInstanceStateRecvMany

type TPEInstanceStateRecvMany struct {
	// contains filtered or unexported fields
}

func (*TPEInstanceStateRecvMany) Flush

func (s *TPEInstanceStateRecvMany) Flush(ctx context.Context, notifyId int64)

func (*TPEInstanceStateRecvMany) NewRecv

func (s *TPEInstanceStateRecvMany) NewRecv() NotifyRecv

type TPEInstanceStateSend

type TPEInstanceStateSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.TPEInstanceKey]TPEInstanceStateSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewTPEInstanceStateSend

func NewTPEInstanceStateSend(handler SendTPEInstanceStateHandler) *TPEInstanceStateSend

func (*TPEInstanceStateSend) ForceDelete

func (s *TPEInstanceStateSend) ForceDelete(ctx context.Context, key *edgeproto.TPEInstanceKey, modRev int64)

func (*TPEInstanceStateSend) GetMessageName

func (s *TPEInstanceStateSend) GetMessageName() string

func (*TPEInstanceStateSend) GetName

func (s *TPEInstanceStateSend) GetName() string

func (*TPEInstanceStateSend) GetNotifyId

func (s *TPEInstanceStateSend) GetNotifyId() int64

func (*TPEInstanceStateSend) GetSendCount

func (s *TPEInstanceStateSend) GetSendCount() uint64

func (*TPEInstanceStateSend) PrepData

func (s *TPEInstanceStateSend) PrepData() bool

func (*TPEInstanceStateSend) Send

func (s *TPEInstanceStateSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*TPEInstanceStateSend) SendForCloudlet

func (s *TPEInstanceStateSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*TPEInstanceStateSend) SetSendRecv

func (s *TPEInstanceStateSend) SetSendRecv(sendrecv *SendRecv)

func (*TPEInstanceStateSend) Update

func (s *TPEInstanceStateSend) Update(ctx context.Context, obj *edgeproto.TPEInstanceState, modRev int64)

func (*TPEInstanceStateSend) UpdateAll

func (s *TPEInstanceStateSend) UpdateAll(ctx context.Context)

func (*TPEInstanceStateSend) UpdateAllOkLocked

func (s *TPEInstanceStateSend) UpdateAllOkLocked(tpe *edgeproto.TPEInstanceState) bool

func (*TPEInstanceStateSend) UpdateOk

type TPEInstanceStateSendContext

type TPEInstanceStateSendContext struct {
	// contains filtered or unexported fields
}

type TPEInstanceStateSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func (*TPEInstanceStateSendMany) DoneSend

func (s *TPEInstanceStateSendMany) DoneSend(peerAddr string, send NotifySend)

func (*TPEInstanceStateSendMany) GetTypeString

func (s *TPEInstanceStateSendMany) GetTypeString() string

func (*TPEInstanceStateSendMany) NewSend

func (s *TPEInstanceStateSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*TPEInstanceStateSendMany) Update

type TrustPolicyCacheHandler

type TrustPolicyCacheHandler interface {
	SendTrustPolicyHandler
	RecvTrustPolicyHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.TrustPolicy, modRev int64))
}

type TrustPolicyExceptionCacheHandler

type TrustPolicyExceptionCacheHandler interface {
	SendTrustPolicyExceptionHandler
	RecvTrustPolicyExceptionHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.TrustPolicyException, modRev int64))
}

type TrustPolicyExceptionRecv

type TrustPolicyExceptionRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func (*TrustPolicyExceptionRecv) Flush

func (s *TrustPolicyExceptionRecv) Flush(ctx context.Context, notifyId int64)

func (*TrustPolicyExceptionRecv) GetMessageName

func (s *TrustPolicyExceptionRecv) GetMessageName() string

func (*TrustPolicyExceptionRecv) GetName

func (s *TrustPolicyExceptionRecv) GetName() string

func (*TrustPolicyExceptionRecv) GetRecvCount

func (s *TrustPolicyExceptionRecv) GetRecvCount() uint64

func (*TrustPolicyExceptionRecv) Recv

func (s *TrustPolicyExceptionRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*TrustPolicyExceptionRecv) RecvAllEnd

func (s *TrustPolicyExceptionRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*TrustPolicyExceptionRecv) RecvAllStart

func (s *TrustPolicyExceptionRecv) RecvAllStart()

func (*TrustPolicyExceptionRecv) SetSendRecv

func (s *TrustPolicyExceptionRecv) SetSendRecv(sendrecv *SendRecv)

type TrustPolicyExceptionRecvMany

type TrustPolicyExceptionRecvMany struct {
	// contains filtered or unexported fields
}

func (*TrustPolicyExceptionRecvMany) Flush

func (s *TrustPolicyExceptionRecvMany) Flush(ctx context.Context, notifyId int64)

func (*TrustPolicyExceptionRecvMany) NewRecv

type TrustPolicyExceptionSend

type TrustPolicyExceptionSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.TrustPolicyExceptionKey]TrustPolicyExceptionSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func (*TrustPolicyExceptionSend) ForceDelete

func (*TrustPolicyExceptionSend) GetMessageName

func (s *TrustPolicyExceptionSend) GetMessageName() string

func (*TrustPolicyExceptionSend) GetName

func (s *TrustPolicyExceptionSend) GetName() string

func (*TrustPolicyExceptionSend) GetNotifyId

func (s *TrustPolicyExceptionSend) GetNotifyId() int64

func (*TrustPolicyExceptionSend) GetSendCount

func (s *TrustPolicyExceptionSend) GetSendCount() uint64

func (*TrustPolicyExceptionSend) PrepData

func (s *TrustPolicyExceptionSend) PrepData() bool

func (*TrustPolicyExceptionSend) Send

func (s *TrustPolicyExceptionSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*TrustPolicyExceptionSend) SendForCloudlet

func (s *TrustPolicyExceptionSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*TrustPolicyExceptionSend) SetSendRecv

func (s *TrustPolicyExceptionSend) SetSendRecv(sendrecv *SendRecv)

func (*TrustPolicyExceptionSend) Update

func (*TrustPolicyExceptionSend) UpdateAll

func (s *TrustPolicyExceptionSend) UpdateAll(ctx context.Context)

func (*TrustPolicyExceptionSend) UpdateAllOkLocked

func (s *TrustPolicyExceptionSend) UpdateAllOkLocked(tpe *edgeproto.TrustPolicyException) bool

func (*TrustPolicyExceptionSend) UpdateOk

type TrustPolicyExceptionSendContext

type TrustPolicyExceptionSendContext struct {
	// contains filtered or unexported fields
}

type TrustPolicyExceptionSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func (*TrustPolicyExceptionSendMany) DoneSend

func (s *TrustPolicyExceptionSendMany) DoneSend(peerAddr string, send NotifySend)

func (*TrustPolicyExceptionSendMany) GetTypeString

func (s *TrustPolicyExceptionSendMany) GetTypeString() string

func (*TrustPolicyExceptionSendMany) NewSend

func (s *TrustPolicyExceptionSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*TrustPolicyExceptionSendMany) Update

type TrustPolicyRecv

type TrustPolicyRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewTrustPolicyRecv

func NewTrustPolicyRecv(handler RecvTrustPolicyHandler) *TrustPolicyRecv

func (*TrustPolicyRecv) Flush

func (s *TrustPolicyRecv) Flush(ctx context.Context, notifyId int64)

func (*TrustPolicyRecv) GetMessageName

func (s *TrustPolicyRecv) GetMessageName() string

func (*TrustPolicyRecv) GetName

func (s *TrustPolicyRecv) GetName() string

func (*TrustPolicyRecv) GetRecvCount

func (s *TrustPolicyRecv) GetRecvCount() uint64

func (*TrustPolicyRecv) Recv

func (s *TrustPolicyRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*TrustPolicyRecv) RecvAllEnd

func (s *TrustPolicyRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*TrustPolicyRecv) RecvAllStart

func (s *TrustPolicyRecv) RecvAllStart()

func (*TrustPolicyRecv) SetSendRecv

func (s *TrustPolicyRecv) SetSendRecv(sendrecv *SendRecv)

type TrustPolicyRecvMany

type TrustPolicyRecvMany struct {
	// contains filtered or unexported fields
}

func NewTrustPolicyRecvMany

func NewTrustPolicyRecvMany(handler RecvTrustPolicyHandler) *TrustPolicyRecvMany

func (*TrustPolicyRecvMany) Flush

func (s *TrustPolicyRecvMany) Flush(ctx context.Context, notifyId int64)

func (*TrustPolicyRecvMany) NewRecv

func (s *TrustPolicyRecvMany) NewRecv() NotifyRecv

type TrustPolicySend

type TrustPolicySend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.PolicyKey]TrustPolicySendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewTrustPolicySend

func NewTrustPolicySend(handler SendTrustPolicyHandler) *TrustPolicySend

func (*TrustPolicySend) ForceDelete

func (s *TrustPolicySend) ForceDelete(ctx context.Context, key *edgeproto.PolicyKey, modRev int64)

func (*TrustPolicySend) GetMessageName

func (s *TrustPolicySend) GetMessageName() string

func (*TrustPolicySend) GetName

func (s *TrustPolicySend) GetName() string

func (*TrustPolicySend) GetNotifyId

func (s *TrustPolicySend) GetNotifyId() int64

func (*TrustPolicySend) GetSendCount

func (s *TrustPolicySend) GetSendCount() uint64

func (*TrustPolicySend) PrepData

func (s *TrustPolicySend) PrepData() bool

func (*TrustPolicySend) Send

func (s *TrustPolicySend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*TrustPolicySend) SendForCloudlet

func (s *TrustPolicySend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*TrustPolicySend) SetSendRecv

func (s *TrustPolicySend) SetSendRecv(sendrecv *SendRecv)

func (*TrustPolicySend) Update

func (s *TrustPolicySend) Update(ctx context.Context, obj *edgeproto.TrustPolicy, modRev int64)

func (*TrustPolicySend) UpdateAll

func (s *TrustPolicySend) UpdateAll(ctx context.Context)

type TrustPolicySendContext

type TrustPolicySendContext struct {
	// contains filtered or unexported fields
}

type TrustPolicySendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewTrustPolicySendMany

func NewTrustPolicySendMany(handler SendTrustPolicyHandler) *TrustPolicySendMany

func (*TrustPolicySendMany) DoneSend

func (s *TrustPolicySendMany) DoneSend(peerAddr string, send NotifySend)

func (*TrustPolicySendMany) GetTypeString

func (s *TrustPolicySendMany) GetTypeString() string

func (*TrustPolicySendMany) NewSend

func (s *TrustPolicySendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*TrustPolicySendMany) Update

func (s *TrustPolicySendMany) Update(ctx context.Context, obj *edgeproto.TrustPolicy, modRev int64)

type VMPoolCacheHandler

type VMPoolCacheHandler interface {
	SendVMPoolHandler
	RecvVMPoolHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.VMPool, modRev int64))
}

type VMPoolInfoCacheHandler

type VMPoolInfoCacheHandler interface {
	SendVMPoolInfoHandler
	RecvVMPoolInfoHandler
	AddNotifyCb(fn func(ctx context.Context, obj *edgeproto.VMPoolInfo, modRev int64))
}

type VMPoolInfoRecv

type VMPoolInfoRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewVMPoolInfoRecv

func NewVMPoolInfoRecv(handler RecvVMPoolInfoHandler) *VMPoolInfoRecv

func (*VMPoolInfoRecv) Flush

func (s *VMPoolInfoRecv) Flush(ctx context.Context, notifyId int64)

func (*VMPoolInfoRecv) GetMessageName

func (s *VMPoolInfoRecv) GetMessageName() string

func (*VMPoolInfoRecv) GetName

func (s *VMPoolInfoRecv) GetName() string

func (*VMPoolInfoRecv) GetRecvCount

func (s *VMPoolInfoRecv) GetRecvCount() uint64

func (*VMPoolInfoRecv) Recv

func (s *VMPoolInfoRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*VMPoolInfoRecv) RecvAllEnd

func (s *VMPoolInfoRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*VMPoolInfoRecv) RecvAllStart

func (s *VMPoolInfoRecv) RecvAllStart()

func (*VMPoolInfoRecv) SetSendRecv

func (s *VMPoolInfoRecv) SetSendRecv(sendrecv *SendRecv)

type VMPoolInfoRecvMany

type VMPoolInfoRecvMany struct {
	// contains filtered or unexported fields
}

func NewVMPoolInfoRecvMany

func NewVMPoolInfoRecvMany(handler RecvVMPoolInfoHandler) *VMPoolInfoRecvMany

func (*VMPoolInfoRecvMany) Flush

func (s *VMPoolInfoRecvMany) Flush(ctx context.Context, notifyId int64)

func (*VMPoolInfoRecvMany) NewRecv

func (s *VMPoolInfoRecvMany) NewRecv() NotifyRecv

type VMPoolInfoSend

type VMPoolInfoSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.VMPoolKey]VMPoolInfoSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewVMPoolInfoSend

func NewVMPoolInfoSend(handler SendVMPoolInfoHandler) *VMPoolInfoSend

func (*VMPoolInfoSend) ForceDelete

func (s *VMPoolInfoSend) ForceDelete(ctx context.Context, key *edgeproto.VMPoolKey, modRev int64)

func (*VMPoolInfoSend) GetMessageName

func (s *VMPoolInfoSend) GetMessageName() string

func (*VMPoolInfoSend) GetName

func (s *VMPoolInfoSend) GetName() string

func (*VMPoolInfoSend) GetNotifyId

func (s *VMPoolInfoSend) GetNotifyId() int64

func (*VMPoolInfoSend) GetSendCount

func (s *VMPoolInfoSend) GetSendCount() uint64

func (*VMPoolInfoSend) PrepData

func (s *VMPoolInfoSend) PrepData() bool

func (*VMPoolInfoSend) Send

func (s *VMPoolInfoSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*VMPoolInfoSend) SendForCloudlet

func (s *VMPoolInfoSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*VMPoolInfoSend) SetSendRecv

func (s *VMPoolInfoSend) SetSendRecv(sendrecv *SendRecv)

func (*VMPoolInfoSend) Update

func (s *VMPoolInfoSend) Update(ctx context.Context, obj *edgeproto.VMPoolInfo, modRev int64)

func (*VMPoolInfoSend) UpdateAll

func (s *VMPoolInfoSend) UpdateAll(ctx context.Context)

type VMPoolInfoSendContext

type VMPoolInfoSendContext struct {
	// contains filtered or unexported fields
}

type VMPoolInfoSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewVMPoolInfoSendMany

func NewVMPoolInfoSendMany(handler SendVMPoolInfoHandler) *VMPoolInfoSendMany

func (*VMPoolInfoSendMany) DoneSend

func (s *VMPoolInfoSendMany) DoneSend(peerAddr string, send NotifySend)

func (*VMPoolInfoSendMany) GetTypeString

func (s *VMPoolInfoSendMany) GetTypeString() string

func (*VMPoolInfoSendMany) NewSend

func (s *VMPoolInfoSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*VMPoolInfoSendMany) Update

func (s *VMPoolInfoSendMany) Update(ctx context.Context, obj *edgeproto.VMPoolInfo, modRev int64)

type VMPoolRecv

type VMPoolRecv struct {
	Name        string
	MessageName string

	Mux sync.Mutex

	RecvCount uint64
	// contains filtered or unexported fields
}

func NewVMPoolRecv

func NewVMPoolRecv(handler RecvVMPoolHandler) *VMPoolRecv

func (*VMPoolRecv) Flush

func (s *VMPoolRecv) Flush(ctx context.Context, notifyId int64)

func (*VMPoolRecv) GetMessageName

func (s *VMPoolRecv) GetMessageName() string

func (*VMPoolRecv) GetName

func (s *VMPoolRecv) GetName() string

func (*VMPoolRecv) GetRecvCount

func (s *VMPoolRecv) GetRecvCount() uint64

func (*VMPoolRecv) Recv

func (s *VMPoolRecv) Recv(ctx context.Context, notice *edgeproto.Notice, notifyId int64, peerAddr string)

func (*VMPoolRecv) RecvAllEnd

func (s *VMPoolRecv) RecvAllEnd(ctx context.Context, cleanup Cleanup)

func (*VMPoolRecv) RecvAllStart

func (s *VMPoolRecv) RecvAllStart()

func (*VMPoolRecv) SetSendRecv

func (s *VMPoolRecv) SetSendRecv(sendrecv *SendRecv)

type VMPoolRecvMany

type VMPoolRecvMany struct {
	// contains filtered or unexported fields
}

func NewVMPoolRecvMany

func NewVMPoolRecvMany(handler RecvVMPoolHandler) *VMPoolRecvMany

func (*VMPoolRecvMany) Flush

func (s *VMPoolRecvMany) Flush(ctx context.Context, notifyId int64)

func (*VMPoolRecvMany) NewRecv

func (s *VMPoolRecvMany) NewRecv() NotifyRecv

type VMPoolSend

type VMPoolSend struct {
	Name        string
	MessageName string

	Keys map[edgeproto.VMPoolKey]VMPoolSendContext

	Mux sync.Mutex

	SendCount uint64
	// contains filtered or unexported fields
}

func NewVMPoolSend

func NewVMPoolSend(handler SendVMPoolHandler) *VMPoolSend

func (*VMPoolSend) ForceDelete

func (s *VMPoolSend) ForceDelete(ctx context.Context, key *edgeproto.VMPoolKey, modRev int64)

func (*VMPoolSend) GetMessageName

func (s *VMPoolSend) GetMessageName() string

func (*VMPoolSend) GetName

func (s *VMPoolSend) GetName() string

func (*VMPoolSend) GetNotifyId

func (s *VMPoolSend) GetNotifyId() int64

func (*VMPoolSend) GetSendCount

func (s *VMPoolSend) GetSendCount() uint64

func (*VMPoolSend) PrepData

func (s *VMPoolSend) PrepData() bool

func (*VMPoolSend) Send

func (s *VMPoolSend) Send(stream StreamNotify, notice *edgeproto.Notice, peer string) error

func (*VMPoolSend) SendForCloudlet

func (s *VMPoolSend) SendForCloudlet(ctx context.Context, action edgeproto.NoticeAction, cloudlet *edgeproto.Cloudlet)

func (*VMPoolSend) SetSendRecv

func (s *VMPoolSend) SetSendRecv(sendrecv *SendRecv)

func (*VMPoolSend) Update

func (s *VMPoolSend) Update(ctx context.Context, obj *edgeproto.VMPool, modRev int64)

func (*VMPoolSend) UpdateAll

func (s *VMPoolSend) UpdateAll(ctx context.Context)

func (*VMPoolSend) UpdateAllOkLocked

func (s *VMPoolSend) UpdateAllOkLocked(vmpool *edgeproto.VMPool) bool

func (*VMPoolSend) UpdateOk

func (s *VMPoolSend) UpdateOk(ctx context.Context, vmpool *edgeproto.VMPool) bool

type VMPoolSendContext

type VMPoolSendContext struct {
	// contains filtered or unexported fields
}

type VMPoolSendMany

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

Server accepts multiple clients so needs to track multiple peers to send to.

func NewVMPoolSendMany

func NewVMPoolSendMany(handler SendVMPoolHandler) *VMPoolSendMany

func (*VMPoolSendMany) DoneSend

func (s *VMPoolSendMany) DoneSend(peerAddr string, send NotifySend)

func (*VMPoolSendMany) GetTypeString

func (s *VMPoolSendMany) GetTypeString() string

func (*VMPoolSendMany) NewSend

func (s *VMPoolSendMany) NewSend(peerAddr string, notifyId int64) NotifySend

func (*VMPoolSendMany) Update

func (s *VMPoolSendMany) Update(ctx context.Context, obj *edgeproto.VMPool, modRev int64)

type WaitForCache

type WaitForCache interface {
	GetCount() int
	GetTypeString() string
}

type WorkArgs

type WorkArgs struct {
	// contains filtered or unexported fields
}

WorkArgs carry the data that is passed to the notify callback.

type WorkFunc

type WorkFunc func(key objstore.ObjKey, old objstore.Obj)

type WorkKey

type WorkKey struct {
	// contains filtered or unexported fields
}

WorkKey uniquely identifies a key that needs work done on it.

type WorkMgr

type WorkMgr struct {
	// contains filtered or unexported fields
}

WorkMgr tracks different keys that need work done. It spawns separate go threads to do work on different keys, but never spawns multiple threads for the same key.

func NewWorkMgr

func NewWorkMgr() *WorkMgr

func (*WorkMgr) AppInstChanged

func (s *WorkMgr) AppInstChanged(key *edgeproto.AppInstKey, old *edgeproto.AppInst)

func (*WorkMgr) ClusterInstChanged

func (s *WorkMgr) ClusterInstChanged(key *edgeproto.ClusterKey, old *edgeproto.ClusterInst)

func (*WorkMgr) SetChangedCb

func (s *WorkMgr) SetChangedCb(typ NotifyType, fn func(key objstore.ObjKey, old objstore.Obj))

Jump to

Keyboard shortcuts

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