producers

package
v0.1.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type JetStreamPublisher

type JetStreamPublisher interface {
	PublishMsg(*nats.Msg, ...nats.PubOpt) (*nats.PubAck, error)
}

type KeyChange

type KeyChange struct {
	Topic     string
	JetStream JetStreamPublisher
	DB        storage.KeyChangeDatabase
}

KeyChange produces key change events for the sync API and federation sender to consume

func (*KeyChange) ProduceKeyChanges

func (p *KeyChange) ProduceKeyChanges(keys []api.DeviceMessage) error

ProduceKeyChanges creates new change events for each key

func (*KeyChange) ProduceSigningKeyUpdate

func (p *KeyChange) ProduceSigningKeyUpdate(key api.CrossSigningKeyUpdate) error

type SyncAPI

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

SyncAPI produces messages for the Sync API server to consume.

func NewSyncAPI

func NewSyncAPI(db storage.UserDatabase, js JetStreamPublisher, clientDataTopic string, notificationDataTopic string) *SyncAPI

func (*SyncAPI) GetAndSendNotificationData

func (p *SyncAPI) GetAndSendNotificationData(ctx context.Context, userID, roomID string) error

GetAndSendNotificationData reads the database and sends data about unread notifications to the Sync API server.

func (*SyncAPI) SendAccountData

func (p *SyncAPI) SendAccountData(userID string, data eventutil.AccountData) error

SendAccountData sends account data to the Sync API server.

Jump to

Keyboard shortcuts

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