Top Inners Fields Constructors Methods
org.bouncycastle.tls

pack-priv Class DTLSReliableHandshake

extends Object
Class Inheritance
Imports
java.io.ByteArrayInputStream, .ByteArrayOutputStream, .IOException, java.util.Enumeration, .Hashtable, .Vector, org.bouncycastle.util.Integers

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
pack-priv static class

Field Summary

Modifier and TypeField and Description
private Hashtable<K, V>
private TlsHandshakeHash
private Timeout
private int
private static final int
private static final int
pack-priv static final int
private int
private int
private Vector<E>
private Hashtable<K, V>
private DTLSRecordLayer
private int
private Timeout

Constructor Summary

AccessConstructor and Description
pack-priv
DTLSReliableHandshake(TlsContext context, DTLSRecordLayer transport, int timeoutMillis, int initialResendMillis, DTLSRequest request)

Method Summary

Modifier and TypeMethod and Description
pack-priv static int
backOff(int timeoutMillis)

private static boolean
checkAll(Hashtable<K, V> inboundFlight)

private void
checkInboundFlight()

Check that there are no "extra" messages left in the current inbound flight

pack-priv void
pack-priv TlsHandshakeHash
private DTLSReliableHandshake.Message
private DTLSReliableHandshake.Message
private void
prepareInboundFlight(Hashtable<K, V> nextFlight)

pack-priv void
private void
processRecord(int windowSize, int epoch, byte[] buf, int off, int len)

pack-priv static ByteArrayInputStream
receiveClientHelloMessage(byte[] msg, int msgOff, int msgLen)

pack-priv DTLSReliableHandshake.Message
pack-priv byte[]
receiveMessageBody(short msg_type)

pack-priv DTLSReliableHandshake.Message
private void
pack-priv void
private static void
resetAll(Hashtable<K, V> inboundFlight)

pack-priv static void
sendHelloVerifyRequest(DatagramSender sender, long recordSeq, byte[] cookie)

pack-priv void
sendMessage(short msg_type, byte[] body)

pack-priv void
private void
writeHandshakeFragment(DTLSReliableHandshake.Message message, int fragment_offset, int fragment_length)

private void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

currentInboundFlightback to summary
private Hashtable<K, V> currentInboundFlight
handshakeHashback to summary
private TlsHandshakeHash handshakeHash
handshakeTimeoutback to summary
private Timeout handshakeTimeout
initialResendMillisback to summary
private int initialResendMillis
MAX_RECEIVE_AHEADback to summary
private static final int MAX_RECEIVE_AHEAD
MAX_RESEND_MILLISback to summary
private static final int MAX_RESEND_MILLIS
MESSAGE_HEADER_LENGTHback to summary
pack-priv static final int MESSAGE_HEADER_LENGTH
next_receive_seqback to summary
private int next_receive_seq
next_send_seqback to summary
private int next_send_seq
outboundFlightback to summary
private Vector<E> outboundFlight
previousInboundFlightback to summary
private Hashtable<K, V> previousInboundFlight
recordLayerback to summary
private DTLSRecordLayer recordLayer
resendMillisback to summary
private int resendMillis
resendTimeoutback to summary
private Timeout resendTimeout

Constructor Detail

DTLSReliableHandshakeback to summary
pack-priv DTLSReliableHandshake(TlsContext context, DTLSRecordLayer transport, int timeoutMillis, int initialResendMillis, DTLSRequest request)

Method Detail

backOffback to summary
pack-priv static int backOff(int timeoutMillis)
checkAllback to summary
private static boolean checkAll(Hashtable<K, V> inboundFlight)
checkInboundFlightback to summary
private void checkInboundFlight()

Check that there are no "extra" messages left in the current inbound flight

finishback to summary
pack-priv void finish()
getHandshakeHashback to summary
pack-priv TlsHandshakeHash getHandshakeHash()
getPendingMessageback to summary
private DTLSReliableHandshake.Message getPendingMessage() throws IOException
implReceiveMessageback to summary
private DTLSReliableHandshake.Message implReceiveMessage() throws IOException
prepareInboundFlightback to summary
private void prepareInboundFlight(Hashtable<K, V> nextFlight)
prepareToFinishback to summary
pack-priv void prepareToFinish()
processRecordback to summary
private void processRecord(int windowSize, int epoch, byte[] buf, int off, int len) throws IOException
receiveClientHelloMessageback to summary
pack-priv static ByteArrayInputStream receiveClientHelloMessage(byte[] msg, int msgOff, int msgLen) throws IOException
receiveMessageback to summary
pack-priv DTLSReliableHandshake.Message receiveMessage() throws IOException
receiveMessageBodyback to summary
pack-priv byte[] receiveMessageBody(short msg_type) throws IOException
receiveMessageDelayedDigestback to summary
pack-priv DTLSReliableHandshake.Message receiveMessageDelayedDigest(short msg_type) throws IOException
resendOutboundFlightback to summary
private void resendOutboundFlight() throws IOException
resetAfterHelloVerifyRequestClientback to summary
pack-priv void resetAfterHelloVerifyRequestClient()
resetAllback to summary
private static void resetAll(Hashtable<K, V> inboundFlight)
sendHelloVerifyRequestback to summary
pack-priv static void sendHelloVerifyRequest(DatagramSender sender, long recordSeq, byte[] cookie) throws IOException
sendMessageback to summary
pack-priv void sendMessage(short msg_type, byte[] body) throws IOException
updateHandshakeMessagesDigestback to summary
pack-priv void updateHandshakeMessagesDigest(DTLSReliableHandshake.Message message) throws IOException
writeHandshakeFragmentback to summary
private void writeHandshakeFragment(DTLSReliableHandshake.Message message, int fragment_offset, int fragment_length) throws IOException
writeMessageback to summary
private void writeMessage(DTLSReliableHandshake.Message message) throws IOException
org.bouncycastle.tls back to summary

pack-priv Class DTLSReliableHandshake.Message

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
private final byte[]
private final int
private final short

Constructor Summary

AccessConstructor and Description
private
Message(int message_seq, short msg_type, byte[] body)

Method Summary

Modifier and TypeMethod and Description
public byte[]
public int
public short
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

bodyback to summary
private final byte[] body
message_seqback to summary
private final int message_seq
msg_typeback to summary
private final short msg_type

Constructor Detail

Messageback to summary
private Message(int message_seq, short msg_type, byte[] body)

Method Detail

getBodyback to summary
public byte[] getBody()
getSeqback to summary
public int getSeq()
getTypeback to summary
public short getType()
org.bouncycastle.tls back to summary

pack-priv Class DTLSReliableHandshake.RecordLayerBuffer

extends ByteArrayOutputStream
Class Inheritance

Field Summary

Inherited from java.io.ByteArrayOutputStream:
bufcount

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
pack-priv void
Inherited from java.io.ByteArrayOutputStream:
closeresetsizetoByteArraytoStringtoStringtoStringtoStringwritewritewriteByteswriteTo

Constructor Detail

RecordLayerBufferback to summary
pack-priv RecordLayerBuffer(int size)

Method Detail

sendToRecordLayerback to summary
pack-priv void sendToRecordLayer(DTLSRecordLayer recordLayer) throws IOException