void serialise(::libmaus::network::SocketBase * socket) const
			{
				designators->serialise(socket);
				socket->writeMessageInBlocks(longptrs);
				socket->writeMessageInBlocks(shortptrs);
				socket->writeString(FI.serialise());
			}
Esempio n. 2
0
			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;
				}	
			}