BgzfReader

BgzfReader is designed to run on a single thread. All it does is fetch block headers and data, so the thread should easily keep up with IO. All data processing is happening lazily in other threads.

Constructors

this
this(string fn)
Undocumented in source.

Postblit

this(this)
this(this)
Undocumented in source.

Members

Functions

enforce1
void enforce1(bool check, string msg, string file, int line)
Undocumented in source. Be warned that the author may not have intended to support it.
read_block_header
size_t read_block_header()

Reads the block header and returns the contained compressed data size with the file pointer positioned at the associated compressed data.

read_compressed_block
Tuple!(FilePos, ubyte[], size_t, CRC32) read_compressed_block(FilePos fpos, ubyte[] buffer)

Returns new tuple of the new file position, the compressed buffer and the CRC32 o the uncompressed data. file pos is NULL when done

read_compressed_data
Tuple!(ubyte[], immutable(uint), CRC32) read_compressed_data(ubyte[] buffer)

Fetch the compressed data part of the block and return it with the uncompressed size and CRC32. The file pointer is assumed to be at the start of the compressed data and will be at the end of that section after.

throwBgzfException
void throwBgzfException(string msg, string file, size_t line)
Undocumented in source. Be warned that the author may not have intended to support it.

Variables

f
File f;
Undocumented in source.
report_fpos
FilePos report_fpos;
Undocumented in source.

Meta