org.testifyproject.bouncycastle.crypto.tls.DTLSEpoch Maven / Gradle / Ivy
The newest version!
package org.testifyproject.bouncycastle.crypto.tls;
class DTLSEpoch
{
private final DTLSReplayWindow replayWindow = new DTLSReplayWindow();
private final int epoch;
private final TlsCipher cipher;
private long sequenceNumber = 0;
DTLSEpoch(int epoch, TlsCipher cipher)
{
if (epoch < 0)
{
throw new IllegalArgumentException("'epoch' must be >= 0");
}
if (cipher == null)
{
throw new IllegalArgumentException("'cipher' cannot be null");
}
this.epoch = epoch;
this.cipher = cipher;
}
long allocateSequenceNumber()
{
// TODO Check for overflow
return sequenceNumber++;
}
TlsCipher getCipher()
{
return cipher;
}
int getEpoch()
{
return epoch;
}
DTLSReplayWindow getReplayWindow()
{
return replayWindow;
}
long getSequenceNumber()
{
return sequenceNumber;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy