add encoder to ReturnShardPayload

This commit is contained in:
ameba23
2021-04-16 21:15:29 +02:00
parent 3ff6042d10
commit 00de32aa87

View File

@@ -1,15 +1,34 @@
package org.briarproject.briar.api.socialbackup;
import org.briarproject.bramble.api.FormatException;
import org.briarproject.bramble.api.data.BdfList;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
import javax.annotation.concurrent.Immutable;
import static org.briarproject.bramble.util.ValidationUtils.checkSize;
@Immutable
@NotNullByDefault
public class ReturnShardPayload {
private final Shard shard;
private final BackupPayload backupPayload;
// TODO this does not belong here
private static Shard parseShardMessage(BdfList body) throws FormatException {
// Message type, secret ID, shard
byte[] secretId = body.getRaw(1);
byte[] shard = body.getRaw(2);
return new Shard(secretId, shard);
}
public static ReturnShardPayload fromList(BdfList body) throws FormatException {
checkSize(body, 2);
Shard shard = parseShardMessage(body.getList(0));
BackupPayload backupPayload = new BackupPayload(body.getRaw(1));
return new ReturnShardPayload(shard, backupPayload);
}
public ReturnShardPayload(Shard shard, BackupPayload backupPayload) {
this.shard = shard;
this.backupPayload = backupPayload;