class XBufferedThreadedStream : public cppu::WeakImplHelper< css::io::XInputStream >, public comphelper::ByteReader
{ private: const css::uno::Reference<XInputStream> mxSrcStream;
sal_Int64 mnPos; /// position in stream
sal_Int64 mnStreamSize; /// available size of stream
Buffer maInUseBuffer; /// Buffer block in use int mnOffset; /// position in maInUseBuffer
std::queue < Buffer > maPendingBuffers; /// Buffers that are available for use
std::queue < Buffer > maUsedBuffers;
rtl::Reference< salhelper::Thread > mxUnzippingThread;
std::mutex maBufferProtector; /// mutex protecting Buffer queues.
std::condition_variable maBufferConsumeResume;
std::condition_variable maBufferProduceResume; bool mbTerminateThread; /// indicates the failure of one of the threads
std::exception_ptr maSavedException; /// exception caught during unzipping is saved to be thrown during reading
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.