eventscore

package module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 10, 2026 License: MIT Imports: 1 Imported by: 0

Documentation

Overview

Package eventscore defines shared driver-facing contracts for events.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Driver

type Driver string

Driver identifies the active events backend.

const (
	// DriverSync dispatches in-process synchronously.
	DriverSync Driver = "sync"
	// DriverNull drops events without delivery.
	DriverNull Driver = "null"
	// DriverNATS identifies a NATS-backed transport.
	DriverNATS Driver = "nats"
	// DriverNATSJetStream identifies a NATS JetStream-backed transport.
	DriverNATSJetStream Driver = "natsjetstream"
	// DriverRedis identifies a Redis-backed transport.
	DriverRedis Driver = "redis"
	// DriverKafka identifies a Kafka-backed transport.
	DriverKafka Driver = "kafka"
	// DriverSNS identifies an SNS-backed transport.
	DriverSNS Driver = "sns"
	// DriverGCPPubSub identifies a Google Pub/Sub-backed transport.
	DriverGCPPubSub Driver = "gcppubsub"
	// DriverSQS identifies an SQS-backed transport.
	DriverSQS Driver = "sqs"
)

type DriverAPI

type DriverAPI interface {
	Driver() Driver
	Ready(context.Context) error
	PublishContext(context.Context, Message) error
	SubscribeContext(context.Context, string, MessageHandler) (Subscription, error)
}

DriverAPI defines the transport-facing driver contract.

type Message

type Message struct {
	Topic   string
	Payload []byte
}

Message is the transport-facing envelope passed to drivers.

type MessageHandler

type MessageHandler func(context.Context, Message) error

MessageHandler receives low-level transport messages.

type Subscription

type Subscription interface {
	Close() error
}

Subscription releases a subscription when closed.

Jump to

Keyboard shortcuts

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