Enter success state after sending ack

This commit is contained in:
ameba23
2021-04-13 18:22:19 +02:00
parent b07206c898
commit f13cc15661

View File

@@ -1,6 +1,5 @@
package org.briarproject.briar.socialbackup.recovery; package org.briarproject.briar.socialbackup.recovery;
import org.briarproject.bramble.api.FormatException;
import org.briarproject.bramble.api.client.ClientHelper; import org.briarproject.bramble.api.client.ClientHelper;
import org.briarproject.bramble.api.crypto.CryptoComponent; import org.briarproject.bramble.api.crypto.CryptoComponent;
import org.briarproject.bramble.api.crypto.KeyPair; import org.briarproject.bramble.api.crypto.KeyPair;
@@ -34,7 +33,7 @@ public class SecretOwnerTaskImpl implements SecretOwnerTask {
@Inject @Inject
SecretOwnerTaskImpl(CryptoComponent crypto, SecretOwnerTaskImpl(CryptoComponent crypto,
@IoExecutor Executor ioExecutor, ClientHelper clientHelper) { @IoExecutor Executor ioExecutor, ClientHelper clientHelper) {
this.crypto = crypto; this.crypto = crypto;
this.ioExecutor = ioExecutor; this.ioExecutor = ioExecutor;
this.clientHelper = clientHelper; this.clientHelper = clientHelper;
@@ -77,7 +76,7 @@ public class SecretOwnerTaskImpl implements SecretOwnerTask {
try { try {
socket = serverSocket.accept(); socket = serverSocket.accept();
observer.onStateChanged(new State.ReceivingShard()); observer.onStateChanged(new State.ReceivingShard());
InputStream inputStream = socket.getInputStream(); InputStream inputStream = socket.getInputStream();
byte[] payloadRaw = new byte[7]; byte[] payloadRaw = new byte[7];
int read = inputStream.read(payloadRaw); int read = inputStream.read(payloadRaw);
if (read < 0) throw new IOException("Payload not read"); if (read < 0) throw new IOException("Payload not read");
@@ -85,6 +84,7 @@ public class SecretOwnerTaskImpl implements SecretOwnerTask {
OutputStream outputStream = socket.getOutputStream(); OutputStream outputStream = socket.getOutputStream();
outputStream.write("ack".getBytes()); outputStream.write("ack".getBytes());
serverSocket.close(); serverSocket.close();
observer.onStateChanged(new State.Success());
} catch (IOException e) { } catch (IOException e) {
observer.onStateChanged(new State.Failure()); observer.onStateChanged(new State.Failure());
} }
@@ -92,9 +92,9 @@ public class SecretOwnerTaskImpl implements SecretOwnerTask {
@Override @Override
public void cancel() { public void cancel() {
cancelled = true; cancelled = true;
try { try {
serverSocket.close(); serverSocket.close();
} catch (IOException e) { } catch (IOException e) {
observer.onStateChanged(new State.Failure()); observer.onStateChanged(new State.Failure());
} }