void serialise(::libmaus::network::SocketBase * socket) const { designators->serialise(socket); socket->writeMessageInBlocks(longptrs); socket->writeMessageInBlocks(shortptrs); socket->writeString(FI.serialise()); }
uint64_t byteSize() const { return designators->byteSize()+ longptrs.byteSize()+ shortptrs.byteSize()+ FI.byteSize(); }
void internalFlush() { if ( pathigh != patlow ) { #if defined(LIBMAUS_FASTX_FASTQBGZFWRITER_PARALLEL) uint64_t const bcnt = bgzfenc->writeSyncedCount(C.begin(),pc-C.begin()); libmaus::util::UTF8::encodeUTF8(bcnt,*bgzfidxcntoutstr); libmaus::fastx::FastInterval const FI(patlow,pathigh,0,0,lnumsyms,minlen,maxlen); #else std::pair<uint64_t,uint64_t> bcntccnt = bgzfenc->writeSyncedCount(C.begin(),pc-C.begin()); libmaus::fastx::FastInterval const FI(patlow,pathigh,cacc,cacc+bcntccnt.second,lnumsyms,minlen,maxlen); cacc += bcntccnt.second; #endif (*fioutstr) << FI.serialise(); blockcnt += 1; std::cerr << FI << std::endl; reset(); patlow = pathigh; } }