Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrDupEvent = errors.New("duplicate: event already exists") ErrEventNotExists = errors.New("unknown: event not known by any source of this relay") )
Functions ¶
Types ¶
type Cache ¶
type Cache interface {
Store
GCCount() (deleteItems del.Items, err error)
Delete(serials del.Items) (err error)
}
Cache is a sketch of an expanded interface that might be used for a size-constrained event store.
type RelayInterface ¶
type RelayInterface interface {
Publish(c context.T, evt *event.T) error
QuerySync(c context.T, f *filter.T,
opts ...subscriptionoption.I) ([]*event.T, error)
}
RelayInterface is a wrapper thing that unifies Store and nostr.Relay under a common API.
type RelayWrapper ¶
type RelayWrapper struct {
Store
}
type Store ¶
type Store interface {
// Init is called at the very beginning by [Server.Start], after
// [Relay.Init], allowing a storage to initialize its internal resources.
// The parameters can be used by the database implementations to set custom
// parameters such as cache management and other relevant parameters to the
// specific implementation.
Init() (err error)
// Close must be called after you're done using the store, to free up
// resources and so on.
Close()
// QueryEvents is invoked upon a client's REQ as described in NIP-01. it
// should return a channel with the events as they're recovered from a
// database. the channel should be closed after the events are all
// delivered.
QueryEvents(c context.T, f *filter.T) (ch event.C, err error)
// CountEvents performs the same work as QueryEvents but instead of
// delivering the events that were found it just returns the count of events
CountEvents(c context.T, f *filter.T) (count int, err error)
// DeleteEvent is used to handle deletion events, as per NIP-09.
DeleteEvent(c context.T, ev *event.T) (err error)
// SaveEvent is called once Relay.AcceptEvent reports true.
SaveEvent(c context.T, ev *event.T) (err error)
}
Store is a persistence layer for nostr events handled by a relay.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
keys
Package keys is a composable framework for constructing badger keys from fields of events.
|
Package keys is a composable framework for constructing badger keys from fields of events. |
|
Package l2 is a testing data store that implements a level 2 cache for events with a badger eventstore.
|
Package l2 is a testing data store that implements a level 2 cache for events with a badger eventstore. |
Click to show internal directories.
Click to hide internal directories.