graphsubscriptions

package
v1.27.5 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2026 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const NotificationChannelBufferSize = 10

NotificationChannelBufferSize is the buffer size for task subscription channels

Variables

This section is empty.

Functions

This section is empty.

Types

type Manager

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

Manager manages all active subscriptions for real-time updates

func GetGlobalManager added in v0.51.0

func GetGlobalManager() *Manager

GetGlobalManager returns the global subscription manager instance

func NewManager

func NewManager() *Manager

NewManager creates a new subscription manager

func (*Manager) HasRedis added in v1.27.2

func (sm *Manager) HasRedis() bool

HasRedis reports whether this manager is configured to distribute notifications across processes via redis

func (*Manager) Publish

func (sm *Manager) Publish(userID string, notification Notification) error

Publish sends a notification to all subscribers for that user in this process, and, when Redis is configured, to subscribers of other processes as well

func (*Manager) Subscribe

func (sm *Manager) Subscribe(userID string, ch chan Notification)

Subscribe adds a new subscriber for a user's notification creations

func (*Manager) Unsubscribe

func (sm *Manager) Unsubscribe(userID string, ch chan Notification)

Unsubscribe removes a subscriber

func (*Manager) WithRedis added in v1.27.2

func (sm *Manager) WithRedis(client *redis.Client) *Manager

WithRedis enables cross-process notification delivery

type Notification added in v0.51.0

type Notification interface{}

Notification is an interface that represents a notification that can be published This avoids import cycles with ent/generated The ent/generated.Notification type has ID and UserID fields that satisfy this interface

type RawNotification added in v1.27.2

type RawNotification struct {
	Payload []byte
}

RawNotification wraps a notification received over Redis that hasn't been unmarshaled into its concrete type yet

Jump to

Keyboard shortcuts

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