backup payload and returned shard payload

This commit is contained in:
ameba23
2021-03-30 12:05:57 +02:00
parent 7c6a2a9b46
commit a11a81f3d4
3 changed files with 57 additions and 3 deletions

View File

@@ -1,4 +1,4 @@
package org.briarproject.briar.socialbackup;
package org.briarproject.briar.api.socialbackup;
import org.briarproject.bramble.api.Bytes;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
@@ -7,9 +7,9 @@ import javax.annotation.concurrent.Immutable;
@Immutable
@NotNullByDefault
class BackupPayload extends Bytes {
public class BackupPayload extends Bytes {
BackupPayload(byte[] payload) {
public BackupPayload(byte[] payload) {
super(payload);
}
}

View File

@@ -1,4 +1,25 @@
package org.briarproject.briar.api.socialbackup;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
import javax.annotation.concurrent.Immutable;
@Immutable
@NotNullByDefault
public class ReturnShardPayload {
private final Shard shard;
private final BackupPayload backupPayload;
public ReturnShardPayload(Shard shard, BackupPayload backupPayload) {
this.shard = shard;
this.backupPayload = backupPayload;
}
public Shard getShard() {
return shard;
}
public BackupPayload getBackupPayload() {
return backupPayload;
}
}

View File

@@ -1,4 +1,37 @@
package org.briarproject.briar.api.socialbackup;
import org.briarproject.bramble.api.crypto.SecretKey;
import org.briarproject.bramble.api.db.DbException;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
import org.briarproject.bramble.api.plugin.duplex.DuplexTransportConnection;
import java.io.IOException;
@NotNullByDefault
public interface SocialBackupExchangeManager {
/**
* Return a shard and encrypted backup to a secret-owner's new device
* @param conn
* @param masterKey
* @param verified
* @throws IOException
* @throws DbException
*/
public void sendReturnShard(DuplexTransportConnection conn,
SecretKey masterKey,
boolean verified) throws IOException, DbException;
/**
* Receive a returned shard and encrypted backup from a custodian
* @param conn
* @param masterKey
* @param verified
* @return the shard and encrypted backup
* @throws IOException
* @throws DbException
*/
public ReturnShardPayload receiveReturnShard(DuplexTransportConnection conn,
SecretKey masterKey, boolean verified)
throws IOException, DbException;
}