Package org.conscrypt
Class ConscryptEngineSocket.SSLInputStream
- java.lang.Object
-
- java.io.InputStream
-
- org.conscrypt.ConscryptEngineSocket.SSLInputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
- Enclosing class:
- ConscryptEngineSocket
private final class ConscryptEngineSocket.SSLInputStream extends java.io.InputStreamUnwrap bytes read from the underlying socket.
-
-
Field Summary
Fields Modifier and Type Field Description private AllocatedBufferallocatedBufferprivate java.nio.ByteBufferfromEngineprivate java.nio.ByteBufferfromSocketprivate intfromSocketArrayOffsetprivate java.lang.ObjectreadLockprivate byte[]singleByteprivate java.io.InputStreamsocketInputStream
-
Constructor Summary
Constructors Constructor Description SSLInputStream()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intavailable()voidclose()private voidinit()private booleanisHandshakeFinished()private booleanisHandshaking(javax.net.ssl.SSLEngineResult.HandshakeStatus status)private intprocessDataFromSocket(byte[] b, int off, int len)intread()intread(byte[] b)intread(byte[] b, int off, int len)private intreadFromSocket()private intreadUntilDataAvailable(byte[] b, int off, int len)(package private) voidrelease()private voidrenegotiate()Processes a renegotiation received from the remote peer.
-
-
-
Field Detail
-
readLock
private final java.lang.Object readLock
-
singleByte
private final byte[] singleByte
-
fromEngine
private final java.nio.ByteBuffer fromEngine
-
fromSocket
private final java.nio.ByteBuffer fromSocket
-
fromSocketArrayOffset
private final int fromSocketArrayOffset
-
allocatedBuffer
private final AllocatedBuffer allocatedBuffer
-
socketInputStream
private java.io.InputStream socketInputStream
-
-
Method Detail
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.InputStream- Throws:
java.io.IOException
-
release
void release()
-
read
public int read() throws java.io.IOException- Specified by:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
read
public int read(byte[] b) throws java.io.IOException- Overrides:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
read
public int read(byte[] b, int off, int len) throws java.io.IOException- Overrides:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
available
public int available() throws java.io.IOException- Overrides:
availablein classjava.io.InputStream- Throws:
java.io.IOException
-
isHandshaking
private boolean isHandshaking(javax.net.ssl.SSLEngineResult.HandshakeStatus status)
-
readUntilDataAvailable
private int readUntilDataAvailable(byte[] b, int off, int len) throws java.io.IOException- Throws:
java.io.IOException
-
processDataFromSocket
private int processDataFromSocket(byte[] b, int off, int len) throws java.io.IOException- Throws:
java.io.IOException
-
isHandshakeFinished
private boolean isHandshakeFinished()
-
renegotiate
private void renegotiate() throws java.io.IOExceptionProcesses a renegotiation received from the remote peer.- Throws:
java.io.IOException
-
init
private void init() throws java.io.IOException- Throws:
java.io.IOException
-
readFromSocket
private int readFromSocket() throws java.io.IOException- Throws:
java.io.IOException
-
-