public StatusCode readStatusCode() throws SFTPException { try { return StatusCode.fromInt(readUInt32AsInt()); } catch (BufferException be) { throw new SFTPException(be); } }
private static byte[] readSingleNameAsBytes(Response res) throws IOException { res.ensurePacketTypeIs(PacketType.NAME); if (res.readUInt32AsInt() == 1) return res.readStringAsBytes(); else throw new SFTPException("Unexpected data in " + res.getType() + " packet"); }
protected int checkReadResponse(Response res, byte[] to, int offset) throws Buffer.BufferException, SFTPException { switch (res.getType()) { case DATA: int recvLen = res.readUInt32AsInt(); System.arraycopy(res.array(), res.rpos(), to, offset, recvLen); return recvLen; case STATUS: res.ensureStatusIs(StatusCode.EOF); return -1; default: throw new SFTPException("Unexpected packet: " + res.getType()); } }
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; }
final int count = res.readUInt32AsInt(); for (int i = 0; i < count; i++) { final String name = res.readString(requester.sub.getRemoteCharset());
public StatusCode readStatusCode() throws SFTPException { try { return StatusCode.fromInt(readUInt32AsInt()); } catch (BufferException be) { throw new SFTPException(be); } }
public StatusCode readStatusCode() throws SFTPException { try { return StatusCode.fromInt(readUInt32AsInt()); } catch (BufferException be) { throw new SFTPException(be); } }
private static byte[] readSingleNameAsBytes(Response res) throws IOException { res.ensurePacketTypeIs(PacketType.NAME); if (res.readUInt32AsInt() == 1) return res.readStringAsBytes(); else throw new SFTPException("Unexpected data in " + res.getType() + " packet"); }
protected static String readSingleName(Response res) throws IOException { res.ensurePacketTypeIs(PacketType.NAME); if (res.readUInt32AsInt() == 1) return res.readString(); else throw new SFTPException("Unexpected data in " + res.getType() + " packet"); }
protected int checkReadResponse(Response res, byte[] to, int offset) throws Buffer.BufferException, SFTPException { switch (res.getType()) { case DATA: int recvLen = res.readUInt32AsInt(); System.arraycopy(res.array(), res.rpos(), to, offset, recvLen); return recvLen; case STATUS: res.ensureStatusIs(StatusCode.EOF); return -1; default: throw new SFTPException("Unexpected packet: " + res.getType()); } }
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; }
protected int checkReadResponse(Response res, byte[] to, int offset) throws Buffer.BufferException, SFTPException { switch (res.getType()) { case DATA: int recvLen = res.readUInt32AsInt(); System.arraycopy(res.array(), res.rpos(), to, offset, recvLen); return recvLen; case STATUS: res.ensureStatusIs(StatusCode.EOF); return -1; default: throw new SFTPException("Unexpected packet: " + res.getType()); } }
public List<RemoteResourceInfo> scan(RemoteResourceFilter filter) throws IOException { List<RemoteResourceInfo> rri = new LinkedList<RemoteResourceInfo>(); loop: for (; ; ) { final Response res = requester.request(newRequest(PacketType.READDIR)) .retrieve(requester.getTimeoutMs(), TimeUnit.MILLISECONDS); switch (res.getType()) { case NAME: final int count = res.readUInt32AsInt(); for (int i = 0; i < count; i++) { final String name = res.readString(); res.readString(); // long name - IGNORED - shdve never been in the protocol final FileAttributes attrs = res.readFileAttributes(); final PathComponents comps = requester.getPathHelper().getComponents(path, name); final RemoteResourceInfo inf = new RemoteResourceInfo(comps, attrs); if (!(name.equals(".") || name.equals("..")) && (filter == null || filter.accept(inf))) rri.add(inf); } break; case STATUS: res.ensureStatusIs(StatusCode.EOF); break loop; default: throw new SFTPException("Unexpected packet: " + res.getType()); } } return rri; }
final int count = res.readUInt32AsInt(); for (int i = 0; i < count; i++) { final String name = res.readString(requester.sub.getRemoteCharset());
long bytesAvailableToUser = response.readUInt64(); long unusedBytesAvailableToUser = response.readUInt64(); int bytesPerAllocationUnit = response.readUInt32AsInt();