mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-09-12 11:37:52 +01:00
Optimize padding block size based on real world experience.
This commit is contained in:
+4
-3
@@ -12,6 +12,7 @@ import org.signal.libsignal.protocol.logging.Log;
|
||||
public class PushTransportDetails {
|
||||
|
||||
private static final String TAG = PushTransportDetails.class.getSimpleName();
|
||||
private static final int PADDING_BLOCK_SIZE = 80;
|
||||
|
||||
|
||||
public byte[] getStrippedPaddingMessageBody(byte[] messageWithPadding) {
|
||||
@@ -46,12 +47,12 @@ public class PushTransportDetails {
|
||||
|
||||
private int getPaddedMessageLength(int messageLength) {
|
||||
int messageLengthWithTerminator = messageLength + 1;
|
||||
int messagePartCount = messageLengthWithTerminator / 160;
|
||||
int messagePartCount = messageLengthWithTerminator / PADDING_BLOCK_SIZE;
|
||||
|
||||
if (messageLengthWithTerminator % 160 != 0) {
|
||||
if (messageLengthWithTerminator % PADDING_BLOCK_SIZE != 0) {
|
||||
messagePartCount++;
|
||||
}
|
||||
|
||||
return messagePartCount * 160;
|
||||
return messagePartCount * PADDING_BLOCK_SIZE;
|
||||
}
|
||||
}
|
||||
|
||||
+8
-8
@@ -15,19 +15,19 @@ class PushTransportDetailsTest {
|
||||
|
||||
@Test
|
||||
fun testV3Padding() {
|
||||
(0 until 159).forEach { i ->
|
||||
(0 until 79).forEach { i ->
|
||||
val message = ByteArray(i)
|
||||
assertThat(transportV3.getPaddedMessageBody(message)).hasSize(79)
|
||||
}
|
||||
|
||||
(79 until 159).forEach { i ->
|
||||
val message = ByteArray(i)
|
||||
assertThat(transportV3.getPaddedMessageBody(message)).hasSize(159)
|
||||
}
|
||||
|
||||
(159 until 319).forEach { i ->
|
||||
(159 until 239).forEach { i ->
|
||||
val message = ByteArray(i)
|
||||
assertThat(transportV3.getPaddedMessageBody(message)).hasSize(319)
|
||||
}
|
||||
|
||||
(319 until 479).forEach { i ->
|
||||
val message = ByteArray(i)
|
||||
assertThat(transportV3.getPaddedMessageBody(message)).hasSize(479)
|
||||
assertThat(transportV3.getPaddedMessageBody(message)).hasSize(239)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user