Documentation ¶
Index ¶
- type TopicEventMultiIterator
- func (tmitr *TopicEventMultiIterator) Close()
- func (tmitr *TopicEventMultiIterator) EventKey() (k event.TopicEventEventKey)
- func (tmitr *TopicEventMultiIterator) EventKeyValue() (k event.TopicEventEventKey, v []byte)
- func (tmitr *TopicEventMultiIterator) Seek(k []byte)
- func (tmitr *TopicEventMultiIterator) SeekEventID(eventID event.EventID)
- func (tmitr *TopicEventMultiIterator) SeekForPrev(k []byte)
- func (tmitr *TopicEventMultiIterator) SeekForPrevEventID(eventID event.EventID)
- func (tmitr *TopicEventMultiIterator) SeekToFirst()
- func (tmitr *TopicEventMultiIterator) SeekToLast()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type TopicEventMultiIterator ¶
type TopicEventMultiIterator struct { *rocksitr.MultiIterator // contains filtered or unexported fields }
TopicEventMultiIterator can be used to aggregate events from different topics. We use the TopicEventEventKey from github.com/kapitan-k/goutilities/event as keys which have a fixed length/size of 16 byte 8 byte uint64 for the topic ID and 8 byte uint64 for the event ID, which includes time micros.
func NewTopicEventMultiIteratorInit ¶
func NewTopicEventMultiIteratorInit( db *gorocksdb.DB, cfEvents *gorocksdb.ColumnFamilyHandle, readaheadSize uint64, readaheadCnt uint64, upperBoundEventID event.EventID, topicIDs []event.TopicID, ) (tmitr *TopicEventMultiIterator, err error)
NewTopicEventMultiIteratorInit allocates and initializes a new TopicEventMultiIterator. readOpts will be used for the underlying iterators but upper bound is overwritten.
func (*TopicEventMultiIterator) Close ¶
func (tmitr *TopicEventMultiIterator) Close()
Close closes the iterator and ALL underlying iterators. The MultiIterator is no longer usable.
func (*TopicEventMultiIterator) EventKey ¶
func (tmitr *TopicEventMultiIterator) EventKey() (k event.TopicEventEventKey)
EventKey returns the key and the value the iterator currently holds. Must not be called if Valid is false.
func (*TopicEventMultiIterator) EventKeyValue ¶
func (tmitr *TopicEventMultiIterator) EventKeyValue() (k event.TopicEventEventKey, v []byte)
EventKeyValue returns the key and the value the iterator currently holds. Must not be called if Valid is false.
func (*TopicEventMultiIterator) Seek ¶
func (tmitr *TopicEventMultiIterator) Seek(k []byte)
Seek moves the iterator to the position greater than or equal to the key.
func (*TopicEventMultiIterator) SeekEventID ¶
func (tmitr *TopicEventMultiIterator) SeekEventID(eventID event.EventID)
SeekEventID moves the iterator to the position greater than or equal to the eventID.
func (*TopicEventMultiIterator) SeekForPrev ¶
func (tmitr *TopicEventMultiIterator) SeekForPrev(k []byte)
SeekForPrev moves the iterator to the last key that less than or equal to the target key, in contrast with Seek.
func (*TopicEventMultiIterator) SeekForPrevEventID ¶
func (tmitr *TopicEventMultiIterator) SeekForPrevEventID(eventID event.EventID)
SeekForPrevEventID moves the iterator to the last key that less than or equal to the eventID, in contrast with Seek.
func (*TopicEventMultiIterator) SeekToFirst ¶
func (tmitr *TopicEventMultiIterator) SeekToFirst()
SeekToFirst moves the iterator to the first key in the database.
func (*TopicEventMultiIterator) SeekToLast ¶
func (tmitr *TopicEventMultiIterator) SeekToLast()
SeekToLast moves the iterator to the last key in the database.