Skip to content
Snippets Groups Projects
Commit 5af971c3 authored by OZGCloud's avatar OZGCloud
Browse files

Add waiting for Observer

parent d4e91034
Branches
Tags
No related merge requests found
...@@ -25,6 +25,7 @@ package de.itvsh.kop.common.binaryfile; ...@@ -25,6 +25,7 @@ package de.itvsh.kop.common.binaryfile;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
...@@ -87,6 +88,7 @@ public class GrpcFileUploadUtils { ...@@ -87,6 +88,7 @@ public class GrpcFileUploadUtils {
void sendNext() { void sendNext() {
if (!done.get()) { if (!done.get()) {
waitForOberver();
LOG.debug("Sending next chunk."); LOG.debug("Sending next chunk.");
sendMetaData(); sendMetaData();
long sentSize = sendNextChunk(); long sentSize = sendNextChunk();
...@@ -94,6 +96,21 @@ public class GrpcFileUploadUtils { ...@@ -94,6 +96,21 @@ public class GrpcFileUploadUtils {
} }
} }
private void waitForOberver() {
synchronized (this) {
while (Objects.isNull(requestObserver)) {
try {
LOG.debug("wait for observer");
wait(300);
} catch (InterruptedException e) {
LOG.error("Error on waiting for request Observer.", e);
Thread.currentThread().interrupt();
}
}
}
}
long sendNextChunk() { long sendNextChunk() {
byte[] contentToSend = readFromStream(); byte[] contentToSend = readFromStream();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment