protected synchronized void transmit(SFTPPacket<Request> payload) throws IOException { final int len = payload.available(); out.write((len >>> 24) & 0xff); out.write((len >>> 16) & 0xff); out.write((len >>> 8) & 0xff); out.write(len & 0xff); out.write(payload.array(), payload.rpos(), len); out.flush(); }
@Test public void shouldReadPacket() throws Exception { byte[] bytes = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; dataout.writeInt(10); dataout.write(bytes); dataout.flush(); SFTPPacket<Response> packet = reader.readPacket(); assertEquals(packet.available(), 10); assertTrue("actual=" + Arrays.toString(packet.array()), Arrays.equals(bytes, subArray(packet.array(), 0, 10))); }
public SFTPEngine init() throws IOException { transmit(new SFTPPacket<Request>(PacketType.INIT).putUInt32(MAX_SUPPORTED_VERSION)); final SFTPPacket<Response> response = reader.readPacket(); final PacketType type = response.readType(); if (type != PacketType.VERSION) throw new SFTPException("Expected INIT packet, received: " + type); operativeVersion = response.readUInt32AsInt(); log.debug("Server version {}", operativeVersion); if (MAX_SUPPORTED_VERSION < operativeVersion) throw new SFTPException("Server reported incompatible protocol version: " + operativeVersion); while (response.available() > 0) serverExtensions.put(response.readString(), response.readString()); // Start reader thread reader.start(); return this; }
protected synchronized void transmit(SFTPPacket<Request> payload) throws IOException { final int len = payload.available(); out.write((len >>> 24) & 0xff); out.write((len >>> 16) & 0xff); out.write((len >>> 8) & 0xff); out.write(len & 0xff); out.write(payload.array(), payload.rpos(), len); out.flush(); }
protected synchronized void transmit(SFTPPacket<Request> payload) throws IOException { final int len = payload.available(); out.write((len >>> 24) & 0xff); out.write((len >>> 16) & 0xff); out.write((len >>> 8) & 0xff); out.write(len & 0xff); out.write(payload.array(), payload.rpos(), len); out.flush(); }
public SFTPEngine init() throws IOException { transmit(new SFTPPacket<Request>(PacketType.INIT).putUInt32(MAX_SUPPORTED_VERSION)); final SFTPPacket<Response> response = reader.readPacket(); final PacketType type = response.readType(); if (type != PacketType.VERSION) throw new SFTPException("Expected INIT packet, received: " + type); operativeVersion = response.readUInt32AsInt(); log.debug("Server version {}", operativeVersion); if (MAX_SUPPORTED_VERSION < operativeVersion) throw new SFTPException("Server reported incompatible protocol version: " + operativeVersion); while (response.available() > 0) serverExtensions.put(response.readString(), response.readString()); // Start reader thread reader.start(); return this; }
public SFTPEngine init() throws IOException { transmit(new SFTPPacket<Request>(PacketType.INIT).putUInt32(MAX_SUPPORTED_VERSION)); final SFTPPacket<Response> response = reader.readPacket(); final PacketType type = response.readType(); if (type != PacketType.VERSION) throw new SFTPException("Expected INIT packet, received: " + type); operativeVersion = response.readUInt32AsInt(); log.debug("Server version {}", operativeVersion); if (MAX_SUPPORTED_VERSION < operativeVersion) throw new SFTPException("Server reported incompatible protocol version: " + operativeVersion); while (response.available() > 0) serverExtensions.put(response.readString(), response.readString()); // Start reader thread reader.start(); return this; }