パッケージ org.postgresql.core
クラス VisibleBufferedInputStream
java.lang.Object
java.io.InputStream
org.postgresql.core.VisibleBufferedInputStream
- すべての実装されたインタフェース:
Closeable
,AutoCloseable
A faster version of BufferedInputStream. Does no synchronisation and allows direct access to the
used byte[] buffer.
-
コンストラクタの概要
コンストラクタコンストラクタ説明VisibleBufferedInputStream
(InputStream in, int bufferSize) Creates a new buffer around the given stream. -
メソッドの概要
修飾子とタイプメソッド説明int
void
close()
boolean
ensureBytes
(int n) Ensures that the buffer contains at least n bytes.boolean
ensureBytes
(int n, boolean block) Ensures that the buffer contains at least n bytes.boolean
ensureBytes
(int n, boolean block, boolean viaCM) Ensures that the buffer contains at least n bytes.byte[]
Returns direct handle to the used buffer.int
getIndex()
Returns the current read position in the buffer.int
peek()
Reads a byte from the buffer without advancing the index pointer.int
read()
int
read
(byte[] to, int off, int len) byte
readRaw()
Reads byte from the buffer without any checks.int
Scans the length of the next null terminated string (C-style string) from the stream.int
scanCStringLength
(boolean viaCM) Scans the length of the next null terminated string (C-style string) from the stream.void
setTimeoutRequested
(boolean timeoutRequested) long
skip
(long n) クラスから継承されたメソッド java.io.InputStream
mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skipNBytes, transferTo
-
コンストラクタの詳細
-
VisibleBufferedInputStream
Creates a new buffer around the given stream.- パラメータ:
in
- The stream to buffer.bufferSize
- The initial size of the buffer.
-
-
メソッドの詳細
-
read
- 定義:
read
クラス内InputStream
- 例外:
IOException
-
peek
Reads a byte from the buffer without advancing the index pointer.- 戻り値:
- byte from the buffer without advancing the index pointer
- 例外:
IOException
- if something wrong happens
-
readRaw
public byte readRaw()Reads byte from the buffer without any checks. This method never reads from the underlaying stream. Before calling this method theensureBytes(int)
method must have been called.- 戻り値:
- The next byte from the buffer.
- 例外:
ArrayIndexOutOfBoundsException
- If ensureBytes was not called to make sure the buffer contains the byte.
-
ensureBytes
Ensures that the buffer contains at least n bytes. This method invalidates the buffer and index fields.- パラメータ:
n
- The amount of bytes to ensure exists in buffer- 戻り値:
- true if required bytes are available and false if EOF
- 例外:
IOException
- If reading of the wrapped stream failed.
-
ensureBytes
Ensures that the buffer contains at least n bytes. This method invalidates the buffer and index fields.- パラメータ:
n
- The amount of bytes to ensure exists in bufferblock
- whether or not to block the IO- 戻り値:
- true if required bytes are available and false if EOF or the parameter block was false and socket timeout occurred.
- 例外:
IOException
- If reading of the wrapped stream failed.
-
ensureBytes
Ensures that the buffer contains at least n bytes. This method invalidates the buffer and index fields.- パラメータ:
n
- The amount of bytes to ensure exists in bufferblock
- whether or not to block the IOviaCM
- Whether it is a CM connection- 戻り値:
- true if required bytes are available and false if EOF or the parameter block was false and socket timeout occurred.
- 例外:
IOException
- If reading of the wrapped stream failed.
-
read
- オーバーライド:
read
クラス内InputStream
- 例外:
IOException
-
skip
- オーバーライド:
skip
クラス内InputStream
- 例外:
IOException
-
available
- オーバーライド:
available
クラス内InputStream
- 例外:
IOException
-
close
- 定義:
close
インタフェース内AutoCloseable
- 定義:
close
インタフェース内Closeable
- オーバーライド:
close
クラス内InputStream
- 例外:
IOException
-
getBuffer
public byte[] getBuffer()Returns direct handle to the used buffer. Use theensureBytes(int)
to prefill required bytes the buffer andgetIndex()
to fetch the current position of the buffer.- 戻り値:
- The underlaying buffer.
-
getIndex
public int getIndex()Returns the current read position in the buffer.- 戻り値:
- the current read position in the buffer.
-
scanCStringLength
Scans the length of the next null terminated string (C-style string) from the stream.- 戻り値:
- The length of the next null terminated string.
- 例外:
IOException
- If reading of stream fails.EOFException
- If the stream did not contain any null terminators.
-
scanCStringLength
Scans the length of the next null terminated string (C-style string) from the stream.- パラメータ:
viaCM
- Whether it is a CM connection- 戻り値:
- The length of the next null terminated string.
- 例外:
IOException
- If reading of stream fails.EOFException
- If the stream did not contain any null terminators.
-
setTimeoutRequested
public void setTimeoutRequested(boolean timeoutRequested) -
getWrapped
- 戻り値:
- the wrapped stream
-