store

package
v0.0.0-...-53883ab Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 17, 2020 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Close

func Close() error

Close terminates connection to persistent storage.

func GetAdapterName

func GetAdapterName() string

GetAdapterName returns the name of the current adater.

func InitDb

func InitDb(jsonconf string, reset bool) error

InitDb open the db connection. If jsconf is nil it will assume that the connection is already open. If it's non-nil, it will use the config string to open the DB connection first.

func InitMessageStore

func InitMessageStore(ctx context.Context, reset bool) error

InitMessageStore init message store and start recovery if reset flag is not set.

func IsOpen

func IsOpen() bool

IsOpen checks if persistent storage connection has been initialized.

func Open

func Open(jsonconf string) error

Open initializes the persistence system. Adapter holds a connection pool for a database instance.

	 name - name of the adapter rquested in the config file
  jsonconf - configuration string

func RegisterAdapter

func RegisterAdapter(name string, a adapter.Adapter)

RegisterAdapter makes a persistence adapter available. If Register is called twice or if the adapter is nil, it panics.

Types

type MessageLog

type MessageLog struct{}

MessageLog is a Message struct to hold methods for persistence mapping for the Message object.

var Log MessageLog

Log is the anchor for storing/retrieving Message objects

func (*MessageLog) Delete

func (l *MessageLog) Delete(key uint64)

Delete is used to delete message.

func (*MessageLog) Get

func (l *MessageLog) Get(proto lp.ProtoAdapter, key uint64) lp.Packet

Get performs a query and attempts to fetch message for the given blockId and key

func (*MessageLog) Keys

func (l *MessageLog) Keys(prefix uint32) []uint64

Keys performs a query and attempts to fetch all keys for given blockId and key prefix.

func (*MessageLog) PersistInbound

func (l *MessageLog) PersistInbound(proto lp.ProtoAdapter, blockId, key uint64, msg lp.Packet)

PersistInbound handles which incoming messages are stored

func (*MessageLog) PersistOutbound

func (l *MessageLog) PersistOutbound(proto lp.ProtoAdapter, blockId, key uint64, msg lp.Packet)

PersistOutbound handles which outgoing messages are stored

func (*MessageLog) Reset

func (l *MessageLog) Reset(prefix uint32)

Reset removes all keys from store for the given blockId and key prefix

type MessageStore

type MessageStore struct{}

MessageStore is a Message struct to hold methods for persistence mapping for the Message object.

var Message MessageStore

Message is the anchor for storing/retrieving Message objects

func (*MessageStore) Get

func (m *MessageStore) Get(contract uint32, topic []byte) (matches []message.Message, err error)

func (*MessageStore) Put

func (m *MessageStore) Put(contract uint32, topic, payload []byte) error

type SubscriptionStore

type SubscriptionStore struct{}

SubscriptionStore is a Subscription struct to hold methods for persistence mapping for the subscription. Note, do not use same contract as messagestore

var Subscription SubscriptionStore

Message is the ancor for storing/retrieving Message objects

func (*SubscriptionStore) Delete

func (s *SubscriptionStore) Delete(contract uint32, messageId, topic []byte) error

func (*SubscriptionStore) Get

func (s *SubscriptionStore) Get(contract uint32, topic []byte) (matches [][]byte, err error)

func (*SubscriptionStore) NewID

func (s *SubscriptionStore) NewID() ([]byte, error)

func (*SubscriptionStore) Put

func (s *SubscriptionStore) Put(contract uint32, messageId, topic, payload []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL