Categorygithub.com/inklabs/rangedb
modulepackage
0.12.0
Repository: https://github.com/inklabs/rangedb.git
Documentation: pkg.go.dev

# README

RangeDB RangeDB Logo

Build Status Docker Build Status Go Report Card Test Coverage Maintainability GoDoc Go Version Release Sourcegraph License

An event store database in Go. This package includes a stand-alone database and web server along with a library for embedding event sourced applications.

Examples are provided here.

Docker

docker run -p 8080:8080 inklabs/rangedb

Community

DDD-CQRS-ES slack group:

Projects using RangeDB

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Code generated by go generate; DO NOT EDIT.

# Functions

GetEventStream returns the stream name for an event.
GetStream returns the stream name for an aggregateType and aggregateID.
MergeRecordIteratorsInOrder combines record channels ordered by record.GlobalSequenceNumber.
NewRawEvent constructs a new raw event when an event struct is unavailable or unknown.
NewRecordIterator constructs a new rangedb.Record iterator.
No description provided by the author
ParseStream returns the aggregateType and aggregateID for a stream name.
PublishRecordOrCancel publishes a Record to a ResultRecord channel, or times out.
ReadNRecords reads up to N records from the channel returned by f into a slice.

# Constants

Version for RangeDB.

# Variables

No description provided by the author

# Structs

EventRecord stores the event and metadata to be used for persisting.
Record contains event data and metadata.
ResultRecord combines Record and error as a result struct for event queries.

# Interfaces

AggregateMessage is the interface that supports building an event stream name.
Event is the interface that defines the required event methods.
EventBinder defines how to bind events for serialization.
EventTypeIdentifier is the interface for retrieving an event type.
RecordIoStream is the interface that (de)serializes a stream of Records.
RecordIterator is used to traverse a stream of record events.
RecordSerializer is the interface that (de)serializes Records.
RecordSubscriber is the interface that defines how a projection receives Records.
RecordSubscription defines how a subscription starts and stops.
Store is the interface that stores and retrieves event records.

# Type aliases

The RecordSubscriberFunc type is an adapter to allow the use of ordinary functions as record subscribers.