implement method to get a ReturnShardPayload as bytes to avoid needing the messageEncoder

This commit is contained in:
ameba23
2021-04-06 16:28:09 +02:00
parent e804a8d573
commit 4f26230996
3 changed files with 16 additions and 14 deletions

View File

@@ -4,17 +4,13 @@ import org.briarproject.bramble.api.FormatException;
import org.briarproject.bramble.api.Predicate;
import org.briarproject.bramble.api.client.ClientHelper;
import org.briarproject.bramble.api.contact.ContactExchangeConstants;
import org.briarproject.bramble.api.contact.ContactExchangeManager;
import org.briarproject.bramble.api.contact.ContactExchangeCrypto;
import org.briarproject.bramble.api.contact.ContactExchangeRecordTypes;
import org.briarproject.bramble.api.contact.ContactManager;
import org.briarproject.bramble.api.crypto.PublicKey;
import org.briarproject.bramble.api.crypto.SecretKey;
import org.briarproject.bramble.api.data.BdfDictionary;
import org.briarproject.bramble.api.data.BdfList;
import org.briarproject.bramble.api.db.DatabaseComponent;
import org.briarproject.bramble.api.db.DbException;
import org.briarproject.bramble.api.identity.IdentityManager;
import org.briarproject.bramble.api.identity.LocalAuthor;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
import org.briarproject.bramble.api.plugin.TransportId;
import org.briarproject.bramble.api.plugin.duplex.DuplexTransportConnection;
@@ -29,10 +25,9 @@ import org.briarproject.bramble.api.system.Clock;
import org.briarproject.bramble.api.transport.StreamReaderFactory;
import org.briarproject.bramble.api.transport.StreamWriter;
import org.briarproject.bramble.api.transport.StreamWriterFactory;
import org.briarproject.bramble.api.contact.ContactExchangeCrypto;
import org.briarproject.briar.api.socialbackup.BackupPayload;
import org.briarproject.briar.api.socialbackup.ReturnShardPayload;
import org.briarproject.briar.api.socialbackup.Shard;
import org.briarproject.briar.api.socialbackup.BackupPayload;
import org.briarproject.briar.api.socialbackup.SocialBackupExchangeManager;
import java.io.EOFException;
@@ -42,15 +37,10 @@ import java.io.OutputStream;
import java.util.Map;
import java.util.logging.Logger;
import javax.annotation.Nullable;
import javax.annotation.concurrent.Immutable;
import javax.inject.Inject;
import sun.java2d.xr.XRBackendNative;
import static java.util.logging.Logger.getLogger;
import static org.briarproject.bramble.api.identity.AuthorConstants.MAX_SIGNATURE_LENGTH;
import static org.briarproject.bramble.util.ValidationUtils.checkLength;
import static org.briarproject.bramble.util.ValidationUtils.checkSize;
@Immutable
@@ -115,7 +105,8 @@ class SocialBackupExchangeManagerImpl implements SocialBackupExchangeManager {
@Override
public void sendReturnShard(DuplexTransportConnection conn,
SecretKey masterKey,
boolean verified, ReturnShardPayload returnShardPayload) throws IOException, DbException {
boolean verified, ReturnShardPayload returnShardPayload)
throws IOException, DbException {
boolean alice = true;
// Get the transport connection's input and output streams
InputStream in = conn.getReader().getInputStream();
@@ -151,7 +142,8 @@ class SocialBackupExchangeManagerImpl implements SocialBackupExchangeManager {
// Exchange contact info
long localTimestamp = clock.currentTimeMillis();
sendShardPayload(recordWriter, localProperties, returnShardPayload, localTimestamp);
sendShardPayload(recordWriter, localProperties, returnShardPayload,
localTimestamp);
receiveAcknowledgement(recordReader);
// Send EOF on the outgoing stream

View File

@@ -239,6 +239,10 @@ class SocialBackupManagerImpl extends ConversationClientImpl
return new ReturnShardPayload(getRemoteShard(txn, groupId), getRemoteBackup(txn, groupId));
}
public byte[] getReturnShardPayloadBytes(Transaction txn, ContactId contactId) throws DbException {
return messageEncoder.encodeReturnShardPayload(getReturnShardPayload(txn, contactId));
}
public boolean amCustodian(Transaction txn, ContactId contactId) {
try {
GroupId groupId = getContactGroup(db.getContact(txn, contactId)).getId();

View File

@@ -8,6 +8,7 @@ import org.briarproject.bramble.api.sync.validation.ValidationManager;
import org.briarproject.bramble.api.system.Clock;
import org.briarproject.bramble.api.versioning.ClientVersioningManager;
import org.briarproject.briar.api.conversation.ConversationManager;
import org.briarproject.briar.api.socialbackup.SocialBackupExchangeManager;
import org.briarproject.briar.api.socialbackup.SocialBackupManager;
import javax.inject.Inject;
@@ -90,4 +91,9 @@ public class SocialBackupModule {
org.briarproject.briar.api.socialbackup.MessageParser messageParser(MessageParserImpl messageParser) {
return messageParser;
}
@Provides
SocialBackupExchangeManager socialBackupExchangeManager(SocialBackupExchangeManagerImpl socialBackupExchangeManager) {
return socialBackupExchangeManager;
}
}