mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-19 22:29:53 +01:00
implement method to get a ReturnShardPayload as bytes to avoid needing the messageEncoder
This commit is contained in:
@@ -4,17 +4,13 @@ import org.briarproject.bramble.api.FormatException;
|
|||||||
import org.briarproject.bramble.api.Predicate;
|
import org.briarproject.bramble.api.Predicate;
|
||||||
import org.briarproject.bramble.api.client.ClientHelper;
|
import org.briarproject.bramble.api.client.ClientHelper;
|
||||||
import org.briarproject.bramble.api.contact.ContactExchangeConstants;
|
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.ContactExchangeRecordTypes;
|
||||||
import org.briarproject.bramble.api.contact.ContactManager;
|
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.crypto.SecretKey;
|
||||||
import org.briarproject.bramble.api.data.BdfDictionary;
|
|
||||||
import org.briarproject.bramble.api.data.BdfList;
|
import org.briarproject.bramble.api.data.BdfList;
|
||||||
import org.briarproject.bramble.api.db.DatabaseComponent;
|
import org.briarproject.bramble.api.db.DatabaseComponent;
|
||||||
import org.briarproject.bramble.api.db.DbException;
|
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.nullsafety.NotNullByDefault;
|
||||||
import org.briarproject.bramble.api.plugin.TransportId;
|
import org.briarproject.bramble.api.plugin.TransportId;
|
||||||
import org.briarproject.bramble.api.plugin.duplex.DuplexTransportConnection;
|
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.StreamReaderFactory;
|
||||||
import org.briarproject.bramble.api.transport.StreamWriter;
|
import org.briarproject.bramble.api.transport.StreamWriter;
|
||||||
import org.briarproject.bramble.api.transport.StreamWriterFactory;
|
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.ReturnShardPayload;
|
||||||
import org.briarproject.briar.api.socialbackup.Shard;
|
import org.briarproject.briar.api.socialbackup.Shard;
|
||||||
import org.briarproject.briar.api.socialbackup.BackupPayload;
|
|
||||||
import org.briarproject.briar.api.socialbackup.SocialBackupExchangeManager;
|
import org.briarproject.briar.api.socialbackup.SocialBackupExchangeManager;
|
||||||
|
|
||||||
import java.io.EOFException;
|
import java.io.EOFException;
|
||||||
@@ -42,15 +37,10 @@ import java.io.OutputStream;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
|
||||||
import javax.annotation.concurrent.Immutable;
|
import javax.annotation.concurrent.Immutable;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import sun.java2d.xr.XRBackendNative;
|
|
||||||
|
|
||||||
import static java.util.logging.Logger.getLogger;
|
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;
|
import static org.briarproject.bramble.util.ValidationUtils.checkSize;
|
||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
@@ -115,7 +105,8 @@ class SocialBackupExchangeManagerImpl implements SocialBackupExchangeManager {
|
|||||||
@Override
|
@Override
|
||||||
public void sendReturnShard(DuplexTransportConnection conn,
|
public void sendReturnShard(DuplexTransportConnection conn,
|
||||||
SecretKey masterKey,
|
SecretKey masterKey,
|
||||||
boolean verified, ReturnShardPayload returnShardPayload) throws IOException, DbException {
|
boolean verified, ReturnShardPayload returnShardPayload)
|
||||||
|
throws IOException, DbException {
|
||||||
boolean alice = true;
|
boolean alice = true;
|
||||||
// Get the transport connection's input and output streams
|
// Get the transport connection's input and output streams
|
||||||
InputStream in = conn.getReader().getInputStream();
|
InputStream in = conn.getReader().getInputStream();
|
||||||
@@ -151,7 +142,8 @@ class SocialBackupExchangeManagerImpl implements SocialBackupExchangeManager {
|
|||||||
// Exchange contact info
|
// Exchange contact info
|
||||||
long localTimestamp = clock.currentTimeMillis();
|
long localTimestamp = clock.currentTimeMillis();
|
||||||
|
|
||||||
sendShardPayload(recordWriter, localProperties, returnShardPayload, localTimestamp);
|
sendShardPayload(recordWriter, localProperties, returnShardPayload,
|
||||||
|
localTimestamp);
|
||||||
receiveAcknowledgement(recordReader);
|
receiveAcknowledgement(recordReader);
|
||||||
|
|
||||||
// Send EOF on the outgoing stream
|
// Send EOF on the outgoing stream
|
||||||
|
|||||||
@@ -239,6 +239,10 @@ class SocialBackupManagerImpl extends ConversationClientImpl
|
|||||||
return new ReturnShardPayload(getRemoteShard(txn, groupId), getRemoteBackup(txn, groupId));
|
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) {
|
public boolean amCustodian(Transaction txn, ContactId contactId) {
|
||||||
try {
|
try {
|
||||||
GroupId groupId = getContactGroup(db.getContact(txn, contactId)).getId();
|
GroupId groupId = getContactGroup(db.getContact(txn, contactId)).getId();
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import org.briarproject.bramble.api.sync.validation.ValidationManager;
|
|||||||
import org.briarproject.bramble.api.system.Clock;
|
import org.briarproject.bramble.api.system.Clock;
|
||||||
import org.briarproject.bramble.api.versioning.ClientVersioningManager;
|
import org.briarproject.bramble.api.versioning.ClientVersioningManager;
|
||||||
import org.briarproject.briar.api.conversation.ConversationManager;
|
import org.briarproject.briar.api.conversation.ConversationManager;
|
||||||
|
import org.briarproject.briar.api.socialbackup.SocialBackupExchangeManager;
|
||||||
import org.briarproject.briar.api.socialbackup.SocialBackupManager;
|
import org.briarproject.briar.api.socialbackup.SocialBackupManager;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
@@ -90,4 +91,9 @@ public class SocialBackupModule {
|
|||||||
org.briarproject.briar.api.socialbackup.MessageParser messageParser(MessageParserImpl messageParser) {
|
org.briarproject.briar.api.socialbackup.MessageParser messageParser(MessageParserImpl messageParser) {
|
||||||
return messageParser;
|
return messageParser;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
SocialBackupExchangeManager socialBackupExchangeManager(SocialBackupExchangeManagerImpl socialBackupExchangeManager) {
|
||||||
|
return socialBackupExchangeManager;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user