Documentation ¶
Index ¶
Constants ¶
const MaxBlockSize = 32 * 1024 * 1024
MaxBlockSize is the maximum size of the block persistent queue can work with.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FastQueue ¶
type FastQueue struct {
// contains filtered or unexported fields
}
FastQueue is fast persistent queue, which prefers sending data via memory.
It falls back to sending data via file when readers don't catch up with writers.
func MustOpenFastQueue ¶
MustOpenFastQueue opens persistent queue at the given path.
It holds up to maxInmemoryBlocks in memory before falling back to file-based persistence.
if maxPendingBytes is 0, then the queue size is unlimited. Otherwise its size is limited by maxPendingBytes. The oldest data is dropped when the queue reaches maxPendingSize.
func (*FastQueue) GetInmemoryQueueLen ¶
GetInmemoryQueueLen returns the length of inmemory queue.
func (*FastQueue) GetPendingBytes ¶
GetPendingBytes returns the number of pending bytes in the fq.
func (*FastQueue) MustClose ¶
func (fq *FastQueue) MustClose()
MustClose unblocks all the readers.
It is expected no new writers during and after the call.
func (*FastQueue) MustReadBlock ¶
MustReadBlock reads the next block from fq to dst and returns it.
func (*FastQueue) MustWriteBlock ¶
MustWriteBlock writes block to fq.
func (*FastQueue) UnblockAllReaders ¶
func (fq *FastQueue) UnblockAllReaders()
UnblockAllReaders unblocks all the readers.