APIdia Launch Partner
Top Description Fields Constructors Methods
sun.security.ssl

pack-priv abstract Class InputRecord

extends Object
implements Record, Closeable
Class Inheritance
All Implemented Interfaces
java.io.Closeable, java.lang.AutoCloseable, sun.security.ssl.Record
Known Direct Subclasses
sun.security.ssl.SSLEngineInputRecord, sun.security.ssl.SSLSocketInputRecord, sun.security.ssl.DTLSInputRecord
Imports
java.io.Closeable, .IOException, .InputStream, .OutputStream, java.nio.BufferUnderflowException, .ByteBuffer, java.util.concurrent.locks.ReentrantLock, javax.crypto.BadPaddingException, sun.security.ssl.SSLCipher.SSLReadCipher

InputRecord takes care of the management of SSL/TLS/DTLS input records, including buffering, decryption, handshake messages marshal, etc.
Author
David Brownell

Field Summary

Modifier and TypeField and Description
pack-priv int
pack-priv final HandshakeHash
pack-priv ProtocolVersion
pack-priv volatile boolean
pack-priv SSLCipher.SSLReadCipher
pack-priv final ReentrantLock
pack-priv TransportContext

Constructor Summary

AccessConstructor and Description
pack-priv
InputRecord(HandshakeHash handshakeHash, SSLCipher.SSLReadCipher readCipher)

Method Summary

Modifier and TypeMethod and Description
pack-priv Plaintext
pack-priv int
bytesInCompletePacket(ByteBuffer[] srcs, int srcsOffset, int srcsLength)

pack-priv int
pack-priv void
changeFragmentSize(int fragmentSize)

pack-priv void
public void
close()

Implements java.io.Closeable.close.

Prevent any more data from being read into this record, and flag the record as holding no data.

pack-priv static ByteBuffer
pack-priv abstract Plaintext[]
decode(ByteBuffer[] srcs, int srcsOffset, int srcsLength)

pack-priv int
estimateFragmentSize(int packetSize)

pack-priv void
pack-priv static ByteBuffer
extract(ByteBuffer[] buffers, int offset, int length, int headerSize)

pack-priv void
pack-priv boolean
pack-priv boolean
pack-priv boolean
pack-priv void
pack-priv void
pack-priv void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

fragmentSizeback to summary
pack-priv int fragmentSize
handshakeHashback to summary
pack-priv final HandshakeHash handshakeHash
helloVersionback to summary
pack-priv ProtocolVersion helloVersion
isClosedback to summary
pack-priv volatile boolean isClosed
readCipherback to summary
pack-priv SSLCipher.SSLReadCipher readCipher
recordLockback to summary
pack-priv final ReentrantLock recordLock
tcback to summary
pack-priv TransportContext tc

Constructor Detail

InputRecordback to summary
pack-priv InputRecord(HandshakeHash handshakeHash, SSLCipher.SSLReadCipher readCipher)

Method Detail

acquirePlaintextback to summary
pack-priv Plaintext acquirePlaintext() throws IOException
bytesInCompletePacketback to summary
pack-priv int bytesInCompletePacket(ByteBuffer[] srcs, int srcsOffset, int srcsLength) throws IOException
bytesInCompletePacketback to summary
pack-priv int bytesInCompletePacket() throws IOException
changeFragmentSizeback to summary
pack-priv void changeFragmentSize(int fragmentSize)
changeReadCiphersback to summary
pack-priv void changeReadCiphers(SSLCipher.SSLReadCipher readCipher)
closeback to summary
public void close() throws IOException

Implements java.io.Closeable.close.

Prevent any more data from being read into this record, and flag the record as holding no data.

Annotations
@Override
Exceptions
IOException:

Doc from java.io.Closeable.close.

if an I/O error occurs

convertToClientHelloback to summary
pack-priv static ByteBuffer convertToClientHello(ByteBuffer packet)
decodeback to summary
pack-priv abstract Plaintext[] decode(ByteBuffer[] srcs, int srcsOffset, int srcsLength) throws IOException, BadPaddingException
estimateFragmentSizeback to summary
pack-priv int estimateFragmentSize(int packetSize)
expectingFinishFlightback to summary
pack-priv void expectingFinishFlight()
extractback to summary
pack-priv static ByteBuffer extract(ByteBuffer[] buffers, int offset, int length, int headerSize)
finishHandshakeback to summary
pack-priv void finishHandshake()
isClosedback to summary
pack-priv boolean isClosed()
isEmptyback to summary
pack-priv boolean isEmpty()
seqNumIsHugeback to summary
pack-priv boolean seqNumIsHuge()
setDeliverStreamback to summary
pack-priv void setDeliverStream(OutputStream outputStream)
setHelloVersionback to summary
pack-priv void setHelloVersion(ProtocolVersion helloVersion)
setReceiverStreamback to summary
pack-priv void setReceiverStream(InputStream inputStream)