private void processDirectory(TransferListener listener, String dMsg, String tMsg, LocalDestFile f) throws IOException { final List<String> dMsgParts = tokenize(dMsg, 3, true); // D<perms> 0 <dirname> final long length = parseLong(dMsgParts.get(1), "dir length"); final String dirname = dMsgParts.get(2); if (length != 0) { throw new IOException("Remote SCP command sent strange directory length: " + length); } final TransferListener dirListener = listener.directory(dirname); { f = f.getTargetDirectory(dirname); engine.signal("ACK: D"); do { } while (!process(dirListener, null, engine.readMessage(), f)); setAttributes(f, parsePermissions(dMsgParts.get(0)), tMsg); engine.signal("ACK: E"); } }
private void processFile(TransferListener listener, String cMsg, String tMsg, LocalDestFile f) throws IOException { final List<String> cMsgParts = tokenize(cMsg, 3, true); // C<perms> <size> <filename> final long length = parseLong(cMsgParts.get(1), "length"); final String filename = cMsgParts.get(2); { f = f.getTargetFile(filename); engine.signal("Remote can start transfer"); final OutputStream dest = f.getOutputStream(); try { engine.transferFromRemote(listener.file(filename, length), dest, length); } finally { IOUtils.closeQuietly(dest); } engine.check("Remote agrees transfer done"); setAttributes(f, parsePermissions(cMsgParts.get(0)), tMsg); engine.signal("Transfer done"); } }
private void processDirectory(TransferListener listener, String dMsg, String tMsg, LocalDestFile f) throws IOException { final List<String> dMsgParts = tokenize(dMsg, 3, true); // D<perms> 0 <dirname> final long length = parseLong(dMsgParts.get(1), "dir length"); final String dirname = dMsgParts.get(2); if (length != 0) throw new IOException("Remote SCP command sent strange directory length: " + length); final TransferListener dirListener = listener.directory(dirname); { f = f.getTargetDirectory(dirname); engine.signal("ACK: D"); do { } while (!process(dirListener, null, engine.readMessage(), f)); setAttributes(f, parsePermissions(dMsgParts.get(0)), tMsg); engine.signal("ACK: E"); } }
private void processDirectory(TransferListener listener, String dMsg, String tMsg, LocalDestFile f) throws IOException { final List<String> dMsgParts = tokenize(dMsg, 3, true); // D<perms> 0 <dirname> final long length = parseLong(dMsgParts.get(1), "dir length"); final String dirname = dMsgParts.get(2); if (length != 0) { throw new IOException("Remote SCP command sent strange directory length: " + length); } final TransferListener dirListener = listener.directory(dirname); { f = f.getTargetDirectory(dirname); engine.signal("ACK: D"); do { } while (!process(dirListener, null, engine.readMessage(), f)); setAttributes(f, parsePermissions(dMsgParts.get(0)), tMsg); engine.signal("ACK: E"); } }
private void processFile(TransferListener listener, String cMsg, String tMsg, LocalDestFile f) throws IOException { final List<String> cMsgParts = tokenize(cMsg, 3, true); // C<perms> <size> <filename> final long length = parseLong(cMsgParts.get(1), "length"); final String filename = cMsgParts.get(2); { f = f.getTargetFile(filename); engine.signal("Remote can start transfer"); final OutputStream dest = f.getOutputStream(); try { engine.transferFromRemote(listener.file(filename, length), dest, length); } finally { IOUtils.closeQuietly(dest); } engine.check("Remote agrees transfer done"); setAttributes(f, parsePermissions(cMsgParts.get(0)), tMsg); engine.signal("Transfer done"); } }
private void processFile(TransferListener listener, String cMsg, String tMsg, LocalDestFile f) throws IOException { final List<String> cMsgParts = tokenize(cMsg, 3, true); // C<perms> <size> <filename> final long length = parseLong(cMsgParts.get(1), "length"); final String filename = cMsgParts.get(2); { f = f.getTargetFile(filename); engine.signal("Remote can start transfer"); final OutputStream dest = f.getOutputStream(); try { engine.transferFromRemote(listener.file(filename, length), dest, length); } finally { IOUtils.closeQuietly(dest); } engine.check("Remote agrees transfer done"); setAttributes(f, parsePermissions(cMsgParts.get(0)), tMsg); engine.signal("Transfer done"); } }