Class ReadAheadBufferedStream
java.lang.Object
java.io.InputStream
java.io.FilterInputStream
org.mariadb.jdbc.internal.io.input.ReadAheadBufferedStream
- All Implemented Interfaces:
Closeable,AutoCloseable
Permit to buffer socket data, reading not only asked bytes, but available number of bytes when possible.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate byte[]private static final intprivate intprivate intFields inherited from class java.io.FilterInputStream
in -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintvoidclose()private voidfillBuffer(int minNeededBytes) Fill buffer with required length, or available bytes.booleanintread()Reading one byte from cache of socket if needed.intread(byte[] externalBuf, int off, int len) Returing byte array, from cache of reading socket if needed.voidreset()longskip(long n) Methods inherited from class java.io.FilterInputStream
mark, readMethods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
-
Field Details
-
buf
private volatile byte[] buf -
end
private int end -
pos
private int pos -
BUF_SIZE
private static final int BUF_SIZE- See Also:
-
-
Constructor Details
-
ReadAheadBufferedStream
-
-
Method Details
-
read
Reading one byte from cache of socket if needed.- Overrides:
readin classFilterInputStream- Returns:
- byte value
- Throws:
IOException- if socket reading error.
-
read
Returing byte array, from cache of reading socket if needed.- Overrides:
readin classFilterInputStream- Parameters:
externalBuf- buffer to filloff- offsetlen- length to read- Returns:
- number of added bytes
- Throws:
IOException- if exception during socket reading
-
fillBuffer
Fill buffer with required length, or available bytes.- Parameters:
minNeededBytes- asked number of bytes- Throws:
IOException- in case of failing reading stream.
-
skip
- Overrides:
skipin classFilterInputStream- Throws:
IOException
-
available
- Overrides:
availablein classFilterInputStream- Throws:
IOException
-
reset
- Overrides:
resetin classFilterInputStream- Throws:
IOException
-
markSupported
public boolean markSupported()- Overrides:
markSupportedin classFilterInputStream
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classFilterInputStream- Throws:
IOException
-