memory

package
v0.2.16 Latest Latest
Warning

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

Go to latest
Published: Aug 16, 2022 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Coordinator

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

Coordinator is a memory-based implementation of sync.Coordinator.

func NewCoordinator

func NewCoordinator(serverInfo *sync.ServerInfo) *Coordinator

NewCoordinator creates an instance of Coordinator.

func (*Coordinator) Close

func (c *Coordinator) Close() error

Close closes all resources of this Coordinator.

func (*Coordinator) Members

func (c *Coordinator) Members() map[string]*sync.ServerInfo

Members returns the members of this cluster.

func (*Coordinator) NewLocker

func (c *Coordinator) NewLocker(
	ctx context.Context,
	key sync.Key,
) (sync.Locker, error)

NewLocker creates locker of the given key.

func (*Coordinator) Publish

func (c *Coordinator) Publish(
	ctx context.Context,
	publisherID *time.ActorID,
	event sync.DocEvent,
)

Publish publishes the given event.

func (*Coordinator) PublishToLocal

func (c *Coordinator) PublishToLocal(
	ctx context.Context,
	publisherID *time.ActorID,
	event sync.DocEvent,
)

PublishToLocal publishes the given event.

func (*Coordinator) Subscribe

func (c *Coordinator) Subscribe(
	ctx context.Context,
	subscriber types.Client,
	keys []key.Key,
) (*sync.Subscription, map[string][]types.Client, error)

Subscribe subscribes to the given documents.

func (*Coordinator) Unsubscribe

func (c *Coordinator) Unsubscribe(
	ctx context.Context,
	keys []key.Key,
	sub *sync.Subscription,
) error

Unsubscribe unsubscribes the given documents.

func (*Coordinator) UpdatePresence

func (c *Coordinator) UpdatePresence(
	_ context.Context,
	publisher *types.Client,
	keys []key.Key,
) (*sync.DocEvent, error)

UpdatePresence updates the presence of the given client.

type PubSub

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

PubSub is the memory implementation of PubSub, used for single server.

func NewPubSub

func NewPubSub() *PubSub

NewPubSub creates an instance of PubSub.

func (*PubSub) BuildPeersMap

func (m *PubSub) BuildPeersMap(keys []key.Key) map[string][]types.Client

BuildPeersMap builds the peers map of the given keys.

func (*PubSub) Publish

func (m *PubSub) Publish(
	ctx context.Context,
	publisherID *time.ActorID,
	event sync.DocEvent,
)

Publish publishes the given event.

func (*PubSub) Subscribe

func (m *PubSub) Subscribe(
	ctx context.Context,
	subscriber types.Client,
	keys []key.Key,
) (*sync.Subscription, error)

Subscribe subscribes to the given document keys.

func (*PubSub) Unsubscribe

func (m *PubSub) Unsubscribe(
	ctx context.Context,
	docKeys []key.Key,
	sub *sync.Subscription,
)

Unsubscribe unsubscribes the given docKeys.

func (*PubSub) UpdatePresence

func (m *PubSub) UpdatePresence(
	publisher *types.Client,
	keys []key.Key,
) *sync.Subscription

UpdatePresence updates the presence of the given client.

Jump to

Keyboard shortcuts

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