Documentation ¶
Index ¶
- Variables
- func ChangeFeedQuery(topic string, resolved time.Duration, cursor time.Time) string
- func InitializeClaimsSchema(ctx context.Context, db *sql.DB, topic string, consumerGroup string, ...) error
- func InitializeCursorsSchema(ctx context.Context, db *sql.DB, logger watermill.LoggerAdapter) error
- func InitializeMessageSchema(ctx context.Context, db *sql.DB, topic string, logger watermill.LoggerAdapter) error
- func InitializeSessionSchema(ctx context.Context, db *sql.DB) error
- func NewPublisher(conn DB, logger watermill.LoggerAdapter) *publisher
- func NewSubscriber(db *sql.DB, consumerGroup string, logger watermill.LoggerAdapter) *subscriber
- type CRDBEnvelope
- type DB
- type PublisherConfig
- type ResolvedTimestamp
- type Scanner
- type Session
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrInvalidTopicName = errors.New("topic name should not contain characters matched by " + disallowedTopicCharacters.String())
View Source
var ErrPublisherClosed = errors.New("publisher is closed")
View Source
var ErrSubscriberClosed = errors.New("subscriber is closed")
Functions ¶
func ChangeFeedQuery ¶
func InitializeClaimsSchema ¶
func InitializeCursorsSchema ¶
func InitializeMessageSchema ¶
func NewPublisher ¶
func NewPublisher(conn DB, logger watermill.LoggerAdapter) *publisher
func NewSubscriber ¶
func NewSubscriber(db *sql.DB, consumerGroup string, logger watermill.LoggerAdapter) *subscriber
Types ¶
type CRDBEnvelope ¶
type CRDBEnvelope struct {
Value ResolvedTimestamp `json:"__crdb__"`
}
type PublisherConfig ¶
type PublisherConfig struct {
AutoInitializeSchema bool
}
type ResolvedTimestamp ¶
type ResolvedTimestamp struct {
Resolved string `json:"resolved"`
}
type Session ¶
type Session struct { Start chan struct{} SessionID string // contains filtered or unexported fields }
func NewSession ¶
func NewSession(db *sql.DB, logger watermill.LoggerAdapter) *Session
Source Files ¶
Click to show internal directories.
Click to hide internal directories.