Documentation ¶
Index ¶
- Constants
- Variables
- type DBKey
- type DBOption
- type DBStore
- func (d *DBStore) Count() (int, error)
- func (d *DBStore) GetAll() ([]StoredMessage, error)
- func (d *DBStore) GetStoredMessage(row *sql.Rows) (StoredMessage, error)
- func (d *DBStore) MostRecentTimestamp() (int64, error)
- func (d *DBStore) Put(env *protocol.Envelope) error
- func (d *DBStore) Query(query *pb.HistoryQuery) (*pb.Index, []StoredMessage, error)
- func (d *DBStore) Stop()
- type Hash
- type MessageProvider
- type RendezVousLevelDB
- type StoredMessage
Constants ¶
const ( TimestampLength = 8 HashLength = 32 DigestLength = HashLength PubsubTopicLength = HashLength DBKeyLength = TimestampLength + PubsubTopicLength + DigestLength )
const WALMode = "wal"
WALMode for sqlite.
Variables ¶
var ( // ErrInvalidByteSize is returned when DBKey can't be created // from a byte slice because it has invalid length. ErrInvalidByteSize = errors.New("byte slice has invalid length") )
var ErrInvalidCursor = errors.New("invalid cursor")
Functions ¶
This section is empty.
Types ¶
type DBKey ¶ added in v0.1.0
type DBKey struct {
// contains filtered or unexported fields
}
DBKey key to be stored in a db.
type DBOption ¶
DBOption is an optional setting that can be used to configure the DBStore
func DefaultOptions ¶ added in v0.2.0
func DefaultOptions() []DBOption
func WithDriver ¶
WithDriver is a DBOption that will open a *sql.DB connection
func WithMigrationsEnabled ¶ added in v0.2.0
WithMigrationsEnabled is a DBOption used to determine whether migrations should be executed or not
type DBStore ¶
type DBStore struct { MessageProvider // contains filtered or unexported fields }
DBStore is a MessageProvider that has a *sql.DB connection
func NewDBStore ¶
Creates a new DB store using the db specified via options. It will create a messages table if it does not exist and clean up records according to the retention policy used
func (*DBStore) GetAll ¶
func (d *DBStore) GetAll() ([]StoredMessage, error)
GetAll returns all the stored WakuMessages
func (*DBStore) GetStoredMessage ¶ added in v0.1.0
func (d *DBStore) GetStoredMessage(row *sql.Rows) (StoredMessage, error)
GetStoredMessage is a helper function used to convert a `*sql.Rows` into a `StoredMessage`
func (*DBStore) MostRecentTimestamp ¶ added in v0.1.0
MostRecentTimestamp returns an unix timestamp with the most recent senderTimestamp in the message table
func (*DBStore) Query ¶ added in v0.1.0
func (d *DBStore) Query(query *pb.HistoryQuery) (*pb.Index, []StoredMessage, error)
Query retrieves messages from the DB
type Hash ¶ added in v0.1.0
type Hash [HashLength]byte
type MessageProvider ¶
type MessageProvider interface { GetAll() ([]StoredMessage, error) Put(env *protocol.Envelope) error Query(query *pb.HistoryQuery) ([]StoredMessage, error) MostRecentTimestamp() (int64, error) Stop() }
type RendezVousLevelDB ¶
type RendezVousLevelDB struct {
// contains filtered or unexported fields
}
RendezVousLevelDB is a struct used to hold a reference to a LevelDB database
func NewRendezVousLevelDB ¶
func NewRendezVousLevelDB(dBPath string) (*RendezVousLevelDB, error)
NewRendezVousLevelDB opens a LevelDB database to be used for rendezvous protocol
func (*RendezVousLevelDB) Delete ¶
func (r *RendezVousLevelDB) Delete(key []byte) error
Delete removes a key from the database
func (*RendezVousLevelDB) NewIterator ¶
func (r *RendezVousLevelDB) NewIterator(prefix []byte) rendezvous.Iterator
NewIterator returns an interator that can be used to iterate over all the records contained in the DB
type StoredMessage ¶
type StoredMessage struct { ID []byte PubsubTopic string ReceiverTime int64 Message *pb.WakuMessage }