Skip to content
Snippets Groups Projects
Commit 7e6939c3 authored by Jan Kožusznik's avatar Jan Kožusznik
Browse files

count zero received bytes

parent 151c4d4d
Branches
Tags
No related merge requests found
...@@ -193,6 +193,7 @@ class MidlewareTunnel implements Closeable { ...@@ -193,6 +193,7 @@ class MidlewareTunnel implements Closeable {
if(reallySend == 0) { if(reallySend == 0) {
zeroCounter++; zeroCounter++;
if(zeroCounter >= ZERO_COUNT_THRESHOLD) { if(zeroCounter >= ZERO_COUNT_THRESHOLD) {
log.info("zero bytes sent from middleware for " + zeroCounter + " time");
return false; return false;
} }
try { try {
...@@ -201,6 +202,8 @@ class MidlewareTunnel implements Closeable { ...@@ -201,6 +202,8 @@ class MidlewareTunnel implements Closeable {
Thread.currentThread().interrupt(); Thread.currentThread().interrupt();
return false; return false;
} }
} else {
zeroCounter = 0;
} }
} while(toSend != 0 && !connection.isServerClosed()); } while(toSend != 0 && !connection.isServerClosed());
return true; return true;
...@@ -211,6 +214,7 @@ class MidlewareTunnel implements Closeable { ...@@ -211,6 +214,7 @@ class MidlewareTunnel implements Closeable {
try { try {
OutputStream os = connection.getSocket().getOutputStream(); OutputStream os = connection.getSocket().getOutputStream();
byte[] received = null; byte[] received = null;
int zeroCounter = 0;
while (!connection.isClientClosed() while (!connection.isClientClosed()
&& null != (received = dataTransfer.readDataFromJobNode(jobId, ipAddress, sessionCode))) { && null != (received = dataTransfer.readDataFromJobNode(jobId, ipAddress, sessionCode))) {
if (connection.isClientClosed()) { if (connection.isClientClosed()) {
...@@ -219,6 +223,19 @@ class MidlewareTunnel implements Closeable { ...@@ -219,6 +223,19 @@ class MidlewareTunnel implements Closeable {
if (received.length > 0) { if (received.length > 0) {
os.write(received); os.write(received);
os.flush(); os.flush();
zeroCounter = 0;
} else {
zeroCounter++;
if(zeroCounter >= ZERO_COUNT_THRESHOLD) {
log.info("zero bytes received from middleware for " + zeroCounter + " time");
break;
}
try {
Thread.sleep(ZERO_COUNT_PAUSE);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
break;
}
} }
} }
os.flush(); os.flush();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment