pubsub

package
v0.0.9 Latest Latest
Warning

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

Go to latest
Published: Mar 21, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package pubsub wraps nats calls

Index

Constants

View Source
const (
	// CreateEventType is the create event type string
	CreateEventType = "create"
	// DeleteEventType is the delete event type string
	DeleteEventType = "delete"
	// UpdateEventType is the update event type string
	UpdateEventType = "update"
)

Variables

View Source
var (
	ErrInvalidActorURN      = errors.New("invalid actor urn")
	ErrInvalidTenantURN     = errors.New("invalid tenant urn")
	ErrInvalidAssignmentURN = errors.New("invalid assignment urn")
	ErrInvalidURN           = errors.New("invalid urn")
)

nolint

Functions

func NewAssignmentMessage

func NewAssignmentMessage(actorURN string, tenantURN string, assignmentURN string, additionalSubjectURNs ...string) (*pubsubx.Message, error)

NewAssignmentMessage creates a new assignment event message

func NewAssignmentURN

func NewAssignmentURN(id string) string

NewAssignmentURN creates a new assignment URN

func NewFrontendMessage added in v0.0.9

func NewFrontendMessage(actorURN string, tenantURN string, frontendURN string, additionalSubjectURNs ...string) (*pubsubx.Message, error)

NewFrontendMessage creates a new frontend message

func NewFrontendURN added in v0.0.9

func NewFrontendURN(id string) string

NewFrontendURN creates a new frontend URN

func NewLoadBalancerMessage

func NewLoadBalancerMessage(actorURN string, tenantURN string, loadBalancerURN string, additionalSubjectURNs ...string) (*pubsubx.Message, error)

NewLoadBalancerMessage creates a new loadbalancer event message

func NewLoadBalancerURN

func NewLoadBalancerURN(id string) string

NewLoadBalancerURN creates a new load balancer URN

func NewOriginMessage added in v0.0.9

func NewOriginMessage(actorURN string, tenantURN string, originURN string, additionalSubjectURNs ...string) (*pubsubx.Message, error)

NewOriginMessage creates a new origin message

func NewOriginURN added in v0.0.9

func NewOriginURN(id string) string

NewOriginURN creates a new origin URN

func NewPoolMessage added in v0.0.9

func NewPoolMessage(actorURN string, tenantURN string, poolURN string, additionalSubjectURNs ...string) (*pubsubx.Message, error)

NewPoolMessage creates a new pool event message

func NewPoolURN added in v0.0.9

func NewPoolURN(id string) string

NewPoolURN creates a new pool URN

func NewTenantURN added in v0.0.9

func NewTenantURN(id string) string

NewTenantURN creates a new tenant URN

Types

type Client added in v0.0.8

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

Client is an event bus client with some configuration

func NewClient added in v0.0.8

func NewClient(opts ...Option) *Client

NewClient configures and establishes a new event bus client connection

func (*Client) AddStream added in v0.0.8

func (c *Client) AddStream() (*nats.StreamInfo, error)

AddStream checks if a stream exists and attempts to create it if it doesn't. Currently we don't currently check that the stream is configured identically to the desired configuration.

func (*Client) ChanSubscribe added in v0.0.9

func (c *Client) ChanSubscribe(ctx context.Context, sub string, ch chan *nats.Msg, stream string) (*nats.Subscription, error)

ChanSubscribe creates a subcription and returns messages on a channel

func (*Client) PublishCreate added in v0.0.8

func (c *Client) PublishCreate(ctx context.Context, actor, location string, data *pubsubx.Message) error

PublishCreate publishes a create event

func (*Client) PublishDelete added in v0.0.8

func (c *Client) PublishDelete(ctx context.Context, actor, location string, data *pubsubx.Message) error

PublishDelete publishes a delete event

func (*Client) PublishUpdate added in v0.0.8

func (c *Client) PublishUpdate(ctx context.Context, actor, location string, data *pubsubx.Message) error

PublishUpdate publishes an update event

type Option added in v0.0.8

type Option func(c *Client)

Option is a functional configuration option for governor eventing

func WithJetreamContext added in v0.0.8

func WithJetreamContext(js nats.JetStreamContext) Option

WithJetreamContext sets the nats jetstream context

func WithLogger added in v0.0.8

func WithLogger(l *zap.SugaredLogger) Option

WithLogger sets the client logger

func WithStreamName added in v0.0.8

func WithStreamName(s string) Option

WithStreamName sets the nats stream name

func WithSubjectPrefix added in v0.0.8

func WithSubjectPrefix(p string) Option

WithSubjectPrefix sets the nats subject prefix

Jump to

Keyboard shortcuts

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