Cleaned up some code

This commit is contained in:
Jeroen van Erp
2017-02-10 09:43:12 +01:00
parent 56c0baf814
commit 636f896850
5 changed files with 12 additions and 11 deletions

View File

@@ -189,7 +189,7 @@ public abstract class AbstractChannel
default: default:
gotUnknown(msg, buf); gotUnknown(msg, buf);
break;
} }
} }

View File

@@ -71,7 +71,8 @@ public final class ChannelOutputStream extends OutputStream implements ErrorNoti
} }
boolean flush(int bufferSize, boolean canAwaitExpansion) throws TransportException, ConnectionException { boolean flush(int bufferSize, boolean canAwaitExpansion) throws TransportException, ConnectionException {
while (bufferSize > 0) { int dataLeft = bufferSize;
while (dataLeft > 0) {
long remoteWindowSize = win.getSize(); long remoteWindowSize = win.getSize();
if (remoteWindowSize == 0) { if (remoteWindowSize == 0) {
if (canAwaitExpansion) { if (canAwaitExpansion) {
@@ -85,7 +86,7 @@ public final class ChannelOutputStream extends OutputStream implements ErrorNoti
// a) how much data we have // a) how much data we have
// b) the max packet size // b) the max packet size
// c) what the current window size will allow // c) what the current window size will allow
final int writeNow = Math.min(bufferSize, (int) Math.min(win.getMaxPacketSize(), remoteWindowSize)); final int writeNow = Math.min(dataLeft, (int) Math.min(win.getMaxPacketSize(), remoteWindowSize));
packet.wpos(headerOffset); packet.wpos(headerOffset);
packet.putMessageID(Message.CHANNEL_DATA); packet.putMessageID(Message.CHANNEL_DATA);
@@ -93,7 +94,7 @@ public final class ChannelOutputStream extends OutputStream implements ErrorNoti
packet.putUInt32(writeNow); packet.putUInt32(writeNow);
packet.wpos(dataOffset + writeNow); packet.wpos(dataOffset + writeNow);
final int leftOverBytes = bufferSize - writeNow; final int leftOverBytes = dataLeft - writeNow;
if (leftOverBytes > 0) { if (leftOverBytes > 0) {
leftOvers.putRawBytes(packet.array(), packet.wpos(), leftOverBytes); leftOvers.putRawBytes(packet.array(), packet.wpos(), leftOverBytes);
} }
@@ -109,7 +110,7 @@ public final class ChannelOutputStream extends OutputStream implements ErrorNoti
leftOvers.clear(); leftOvers.clear();
} }
bufferSize = leftOverBytes; dataLeft = leftOverBytes;
} }
return true; return true;
@@ -178,8 +179,7 @@ public final class ChannelOutputStream extends OutputStream implements ErrorNoti
* @throws IOException * @throws IOException
*/ */
@Override @Override
public synchronized void flush() public synchronized void flush() throws IOException {
throws IOException {
checkClose(); checkClose();
buffer.flush(true); buffer.flush(true);
} }

View File

@@ -19,7 +19,6 @@ import net.schmizz.sshj.xfer.FilePermission;
import net.schmizz.sshj.xfer.LocalDestFile; import net.schmizz.sshj.xfer.LocalDestFile;
import net.schmizz.sshj.xfer.LocalSourceFile; import net.schmizz.sshj.xfer.LocalSourceFile;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.Closeable; import java.io.Closeable;
import java.io.IOException; import java.io.IOException;

View File

@@ -30,6 +30,8 @@ import org.apache.sshd.server.forward.AcceptAllForwardingFilter;
import org.junit.Before; import org.junit.Before;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
@@ -39,6 +41,7 @@ import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.assertThat; import static org.junit.Assert.assertThat;
public class RemotePortForwarderTest { public class RemotePortForwarderTest {
private static final Logger log = LoggerFactory.getLogger(RemotePortForwarderTest.class);
private static final PortRange RANGE = new PortRange(9000, 9999); private static final PortRange RANGE = new PortRange(9000, 9999);
private static final InetSocketAddress HTTP_SERVER_SOCKET_ADDR = new InetSocketAddress("127.0.0.1", 8080); private static final InetSocketAddress HTTP_SERVER_SOCKET_ADDR = new InetSocketAddress("127.0.0.1", 8080);
@@ -125,7 +128,7 @@ public class RemotePortForwarderTest {
private int httpGet(String server, int port) throws IOException { private int httpGet(String server, int port) throws IOException {
HttpClient client = HttpClientBuilder.create().build(); HttpClient client = HttpClientBuilder.create().build();
String urlString = "http://" + server + ":" + port; String urlString = "http://" + server + ":" + port;
System.out.println("Trying: GET " + urlString); log.info("Trying: GET " + urlString);
HttpResponse execute = client.execute(new HttpGet(urlString)); HttpResponse execute = client.execute(new HttpGet(urlString));
return execute.getStatusLine().getStatusCode(); return execute.getStatusLine().getStatusCode();
} }

View File

@@ -61,8 +61,7 @@ public class KeepAliveThreadTerminationTest {
for (long l : threadMXBean.getAllThreadIds()) { for (long l : threadMXBean.getAllThreadIds()) {
ThreadInfo threadInfo = threadMXBean.getThreadInfo(l); ThreadInfo threadInfo = threadMXBean.getThreadInfo(l);
if (threadInfo.getThreadName().equals("keep-alive") && threadInfo.getThreadState() != Thread.State.TERMINATED) { if (threadInfo.getThreadName().equals("keep-alive") && threadInfo.getThreadState() != Thread.State.TERMINATED) {
System.err.println("Found thread in state " + threadInfo.getThreadState()); fail("Found alive keep-alive thread in state " + threadInfo.getThreadState());
throw new RuntimeException("Found alive keep-alive thread");
} }
} }
} }