write one row of data Note, in a multi-threaded environment (NumThreads>0), the return code should be checked rather than the badbit() of the stream (it might have been set by a thread before the errno has been set) errno will then contain the correct error number of the last error which happened during writing.
317 throw std::runtime_error(
"Wrong size of row given to WriteRow");
319 gLog <<
___err___ <<
"ERROR - Wrong size of row given to WriteRow" << std::endl;
371 throw std::runtime_error(
"The compression queues are not started. Did you close the file before writing this row?");
373 gLog <<
___err___ <<
"The compression queues are not started. Did you close the file before writing this row?" << std::endl;
std::vector< char > fRawSumBuffer
buffer used for checksuming the incoming data, before compression
uint32_t fNumRowsPerTile
Number of rows per tile.
Checksum fRawSum
Raw sum (specific to FACT)
std::vector< Queue< CompressionTarget > > fCompressionQueues
Processing queues (=threads)
int fErrno
propagate errno to main thread
uint32_t fRealRowWidth
Width in bytes of one uncompressed row.
std::exception_ptr fThreadsException
exception pointer to store exceptions coming from the threads
CompressionTarget InitNextCompression()
bool add(const char *buf, size_t len, bool big_endian=true)
std::shared_ptr< char > fSmartBuffer
Smart pointer to the buffer where the incoming rows are written.