mirror of
https://github.com/hierynomus/sshj.git
synced 2025-12-08 16:18:05 +03:00
don't close underlying RemoteFile when closing streams of that file - reverts f34667521d
This commit is contained in:
@@ -15,6 +15,10 @@
|
|||||||
*/
|
*/
|
||||||
package net.schmizz.sshj.sftp;
|
package net.schmizz.sshj.sftp;
|
||||||
|
|
||||||
|
import net.schmizz.concurrent.Promise;
|
||||||
|
import net.schmizz.sshj.common.Buffer;
|
||||||
|
import net.schmizz.sshj.sftp.Response.StatusCode;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
@@ -22,10 +26,6 @@ import java.util.LinkedList;
|
|||||||
import java.util.Queue;
|
import java.util.Queue;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import net.schmizz.concurrent.Promise;
|
|
||||||
import net.schmizz.sshj.common.Buffer;
|
|
||||||
import net.schmizz.sshj.sftp.Response.StatusCode;
|
|
||||||
|
|
||||||
public class RemoteFile
|
public class RemoteFile
|
||||||
extends RemoteResource {
|
extends RemoteResource {
|
||||||
|
|
||||||
@@ -62,7 +62,8 @@ public class RemoteFile
|
|||||||
return requester.request(newRequest(PacketType.READ).putUInt64(fileOffset).putUInt32(len));
|
return requester.request(newRequest(PacketType.READ).putUInt64(fileOffset).putUInt32(len));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected int checkReadResponse(Response res, byte[] to, int offset) throws Buffer.BufferException, SFTPException {
|
protected int checkReadResponse(Response res, byte[] to, int offset)
|
||||||
|
throws Buffer.BufferException, SFTPException {
|
||||||
switch (res.getType()) {
|
switch (res.getType()) {
|
||||||
case DATA:
|
case DATA:
|
||||||
int recvLen = res.readUInt32AsInt();
|
int recvLen = res.readUInt32AsInt();
|
||||||
@@ -166,8 +167,6 @@ public class RemoteFile
|
|||||||
public void close()
|
public void close()
|
||||||
throws IOException {
|
throws IOException {
|
||||||
flush();
|
flush();
|
||||||
// Close handle
|
|
||||||
RemoteFile.this.close();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -256,7 +255,8 @@ public class RemoteFile
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void close() throws IOException {
|
public void close()
|
||||||
|
throws IOException {
|
||||||
while (!unconfirmedReads.isEmpty()) {
|
while (!unconfirmedReads.isEmpty()) {
|
||||||
final Response res = unconfirmedReads.remove().retrieve(
|
final Response res = unconfirmedReads.remove().retrieve(
|
||||||
requester.getTimeoutMs(), TimeUnit.MILLISECONDS);
|
requester.getTimeoutMs(), TimeUnit.MILLISECONDS);
|
||||||
@@ -271,8 +271,6 @@ public class RemoteFile
|
|||||||
throw new SFTPException("Unexpected packet: " + res.getType());
|
throw new SFTPException("Unexpected packet: " + res.getType());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Close handle
|
|
||||||
RemoteFile.this.close();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user