private void checkWriteResponse(Promise<Response, SFTPException> responsePromise) throws SFTPException { responsePromise.retrieve(requester.getTimeoutMs(), TimeUnit.MILLISECONDS).ensureStatusPacketIsOK(); }
private Response doRequest(Request req) throws IOException { return request(req).retrieve(getTimeoutMs(), TimeUnit.MILLISECONDS); }
@Override public void close() throws IOException { log.debug("Closing `{}`", this); requester.request(newRequest(PacketType.CLOSE)) .retrieve(requester.getTimeoutMs(), TimeUnit.MILLISECONDS) .ensureStatusPacketIsOK(); }
public int read(long fileOffset, byte[] to, int offset, int len) throws IOException { final Response res = asyncRead(fileOffset, len).retrieve(requester.getTimeoutMs(), TimeUnit.MILLISECONDS); return checkReadResponse(res, to, offset); }
private boolean retrieveUnconfirmedRead(boolean blocking) throws IOException { if (unconfirmedReads.size() <= 0) { return false; } if (!blocking && !unconfirmedReads.peek().isDelivered()) { return false; } unconfirmedReadOffsets.remove(); final Response res = unconfirmedReads.remove().retrieve(requester.getTimeoutMs(), TimeUnit.MILLISECONDS); switch (res.getType()) { case DATA: int recvLen = res.readUInt32AsInt(); responseOffset += recvLen; pending = new ByteArrayInputStream(res.array(), res.rpos(), recvLen); break; case STATUS: res.ensureStatusIs(Response.StatusCode.EOF); eof = true; break; default: throw new SFTPException("Unexpected packet: " + res.getType()); } return true; }
public FileAttributes fetchAttributes() throws IOException { return requester.request(newRequest(PacketType.FSTAT)) .retrieve(requester.getTimeoutMs(), TimeUnit.MILLISECONDS) .ensurePacketTypeIs(PacketType.ATTRS) .readFileAttributes(); }
public void setAttributes(FileAttributes attrs) throws IOException { requester.request(newRequest(PacketType.FSETSTAT).putFileAttributes(attrs)) .retrieve(requester.getTimeoutMs(), TimeUnit.MILLISECONDS).ensureStatusPacketIsOK(); }
for (; ; ) { final Response res = requester.request(newRequest(PacketType.READDIR)) .retrieve(requester.getTimeoutMs(), TimeUnit.MILLISECONDS); switch (res.getType()) {
private Response doRequest(Request req) throws IOException { return request(req).retrieve(getTimeoutMs(), TimeUnit.MILLISECONDS); }
private Response doRequest(Request req) throws IOException { return request(req).retrieve(getTimeoutMs(), TimeUnit.MILLISECONDS); }
private void checkWriteResponse(Promise<Response, SFTPException> responsePromise) throws SFTPException { responsePromise.retrieve(requester.getTimeoutMs(), TimeUnit.MILLISECONDS).ensureStatusPacketIsOK(); }
@Override public void close() throws IOException { log.debug("Closing `{}`", this); requester.request(newRequest(PacketType.CLOSE)) .retrieve(requester.getTimeoutMs(), TimeUnit.MILLISECONDS) .ensureStatusPacketIsOK(); }
public int read(long fileOffset, byte[] to, int offset, int len) throws IOException { final Response res = asyncRead(fileOffset, len).retrieve(requester.getTimeoutMs(), TimeUnit.MILLISECONDS); return checkReadResponse(res, to, offset); }
public FileAttributes fetchAttributes() throws IOException { return requester.request(newRequest(PacketType.FSTAT)) .retrieve(requester.getTimeoutMs(), TimeUnit.MILLISECONDS) .ensurePacketTypeIs(PacketType.ATTRS) .readFileAttributes(); }
private boolean retrieveUnconfirmedRead(boolean blocking) throws IOException { if (unconfirmedReads.size() <= 0) { return false; } if (!blocking && !unconfirmedReads.peek().isDelivered()) { return false; } unconfirmedReadOffsets.remove(); final Response res = unconfirmedReads.remove().retrieve(requester.getTimeoutMs(), TimeUnit.MILLISECONDS); switch (res.getType()) { case DATA: int recvLen = res.readUInt32AsInt(); responseOffset += recvLen; pending = new ByteArrayInputStream(res.array(), res.rpos(), recvLen); break; case STATUS: res.ensureStatusIs(Response.StatusCode.EOF); eof = true; break; default: throw new SFTPException("Unexpected packet: " + res.getType()); } return true; }
public void setAttributes(FileAttributes attrs) throws IOException { requester.request(newRequest(PacketType.FSETSTAT).putFileAttributes(attrs)) .retrieve(requester.getTimeoutMs(), TimeUnit.MILLISECONDS).ensureStatusPacketIsOK(); }
for (; ; ) { final Response res = requester.request(newRequest(PacketType.READDIR)) .retrieve(requester.getTimeoutMs(), TimeUnit.MILLISECONDS); switch (res.getType()) {