# Package fr.gouv.vitam.common.stream

package fr.gouv.vitam.common.stream
This package concerns Common Stream handling as Helpers for common actions or MultipleInputStream multiplexer.

- Related Packages
  Package
  Description
  fr.gouv.vitam.common
  General utility classes as FileUtil, SystemPropertyUtil and UUID support
- Classes
  Class
  Description
  BoundedByteBuffer
  Buffer with buffering allowing One Writer and Multiple Readers.
  ExactDigestValidatorInputStream
  Input stream that checks input stream digest
  ExactSizeInputStream
  Input stream that checks input stream size (avoids premature EOF or invalid file size) This input stream guaranties that an exception occur BEFORE the last data byte is returned.
  ExtendedFileOutputStream
  LazySequenceInputStream
  A `SequenceInputStream`-like implementation with lazy input stream iterator.
  MultiplePipedInputStream
  Generate multiples InputStreams from one to many using Pipe
  MultiplexedStreamReader
  Reader for multiplexed streams.
  MultiplexedStreamWriter
  Write for multiplexed streams.
  PrependedMultiplexedInputStream
  Wrapper around a multiplexed stream to prepend it with a header entry.
  ProducerConsumerLock
  Producer-Consumer lock implementation : (https://en.wikipedia.org/wiki/Producer%E2%80%93consumer_problem) Inspired from https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/Condition.html implementation Implements `AutoCloseable` - When closed, all locks are unlocked.
  SizedInputStream
  Input stream with read size
  StreamUtils
  This class supports Helpers on streams.
  VitamAsyncInputStream
  VitamAsyncInputStreamResponse
  This class implements a fake InputStream from a Response such that the response will be closed once the stream is closed itself.