|
|||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | ||||||||
See:
Description
| Interface Summary | |
|---|---|
| ByteCounter | This Interface provides for tracking the number of bytes read/written. |
| IterativeReader | Interface specifying read from a stream in small chunks. |
| IterativeWriter | Interface specifying write to a stream in small chunks. |
| Class Summary | |
|---|---|
| InStreamFromIterativeWriter | This class enables reading off directly from an IterativeWriter. |
| OutStreamToIterativeReader | This class enables writing directly to an IterativeReader which will read the data written as an InputStream. |
| SplitInputStream | This class enables the Sharing of an InputStream (Say from a file) by One or more IterativeReaders with a main reader. |
This is a generic package which helps in reducing Disk IO. The features provided by this package are similiar to a pipe within the same thread.
LLJTran supports the features provided by this package.
The class supporting directio features has to support the
IterativeReader and/or
IterativeWriter interfaces.
So it has to be able to read and/or write in small chunks as specified by
the nextRead(..)/nextWrite(..) methods in these Interfaces. This involves
some code reorganization See the
LLJTran documentation and source for
example. How this was done in LLJTran is as follows:
SplitInputStream for
sharing an Input source from a file with another Object reading from
the file.
OutStreamToIterativeReader
enabling an Object to write directly to an IterativeReader so that
the output need not be written to a temporary file and then be read.
InStreamFromIterativeWriter
enabling an Object to read directly from an IterativeWriter so that
the output need not be written to a temporary file and then be read.
|
|||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | ||||||||