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 realy") )
Functions ¶
func GetAddrTagElements ¶
func GetAddrTagElements(tagValue st) (k uint16, pkb by, d st)
Types ¶
type I ¶
type I 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(path st) (err er)
// Path returns the directory of the database.
Path() (s st)
// Close must be called after you're done using the store, to free up resources
// and so on.
Close() (err er)
// Nuke deletes everything in the database.
Nuke() (err er)
// QueryEvents is invoked upon a client's REQ as described in NIP-01. It returns
// the matching events in reverse chronological order in a slice.
QueryEvents(c cx, f *filter.T) (evs event.Ts, err er)
// 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 cx, f *filter.T) (count no, approx bo, err er)
// DeleteEvent is used to handle deletion events, as per NIP-09.
DeleteEvent(c cx, ev *eventid.T) (err er)
// SaveEvent is called once Relay.AcceptEvent reports true.
SaveEvent(c cx, ev *event.T) (err er)
// Import reads in a stream of line structured JSON of events to save into the
// store.
Import(r io.Reader)
// Export writes a stream of line structured JSON of all events in the store. If
// pubkeys are present, only those with these pubkeys in the `pubkey` field and
// in `p` tags will be included.
Export(c cx, w io.Writer, pubkeys ...by)
// Sync signals the event store to flush its buffers.
Sync() (err er)
}
I is an types for a persistence layer for nostr events handled by a relay.
type OK ¶
type OK = okenvelope.T
type Responder ¶
type Responder = http.ResponseWriter
type SubID ¶
type SubID = subscription.Id
Click to show internal directories.
Click to hide internal directories.