Class ScpIoUtils
- java.lang.Object
-
- org.apache.sshd.scp.common.helpers.ScpIoUtils
-
public final class ScpIoUtils extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.Set<ClientChannelEvent>
COMMAND_WAIT_EVENTS
-
Constructor Summary
Constructors Modifier Constructor Description private
ScpIoUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.String
getExitStatusName(java.lang.Integer exitStatus)
static void
handleCommandExitStatus(ClientSession session, java.lang.String cmd, java.lang.Integer exitStatus, org.slf4j.Logger log)
Invoked by the variousupload/download
methods after having successfully completed the remote copy command and (optionally) having received an exit status from the remote serverstatic void
handleCommandExitStatus(ClientSession session, java.lang.String cmd, ClientChannel channel, CommandStatusHandler handler, org.slf4j.Logger log)
Invoked by the variousupload/download
methods after having successfully completed the remote copy command and (optionally) having received an exit status from the remote server.static ChannelExec
openCommandChannel(ClientSession session, java.lang.String cmd, org.slf4j.Logger log)
static java.lang.String
readLine(java.io.InputStream in)
static java.lang.String
readLine(java.io.InputStream in, boolean canEof)
static ScpAckInfo
sendAcknowledgedCommand(java.lang.String cmd, java.io.InputStream in, java.io.OutputStream out)
static ScpAckInfo
sendAcknowledgedCommand(AbstractScpCommandDetails cmd, java.io.InputStream in, java.io.OutputStream out)
static void
writeLine(java.io.OutputStream out, java.lang.String cmd)
-
-
-
Field Detail
-
COMMAND_WAIT_EVENTS
public static final java.util.Set<ClientChannelEvent> COMMAND_WAIT_EVENTS
-
-
Method Detail
-
readLine
public static java.lang.String readLine(java.io.InputStream in) throws java.io.IOException
- Throws:
java.io.IOException
-
readLine
public static java.lang.String readLine(java.io.InputStream in, boolean canEof) throws java.io.IOException
- Throws:
java.io.IOException
-
writeLine
public static void writeLine(java.io.OutputStream out, java.lang.String cmd) throws java.io.IOException
- Throws:
java.io.IOException
-
sendAcknowledgedCommand
public static ScpAckInfo sendAcknowledgedCommand(AbstractScpCommandDetails cmd, java.io.InputStream in, java.io.OutputStream out) throws java.io.IOException
- Throws:
java.io.IOException
-
sendAcknowledgedCommand
public static ScpAckInfo sendAcknowledgedCommand(java.lang.String cmd, java.io.InputStream in, java.io.OutputStream out) throws java.io.IOException
- Throws:
java.io.IOException
-
getExitStatusName
public static java.lang.String getExitStatusName(java.lang.Integer exitStatus)
-
openCommandChannel
public static ChannelExec openCommandChannel(ClientSession session, java.lang.String cmd, org.slf4j.Logger log) throws java.io.IOException
- Throws:
java.io.IOException
-
handleCommandExitStatus
public static void handleCommandExitStatus(ClientSession session, java.lang.String cmd, ClientChannel channel, CommandStatusHandler handler, org.slf4j.Logger log) throws java.io.IOException
Invoked by the variousupload/download
methods after having successfully completed the remote copy command and (optionally) having received an exit status from the remote server. If no exit status received withinCoreModuleProperties.CHANNEL_CLOSE_TIMEOUT
the no further action is taken. Otherwise, the exit status is examined to ensure it is either OK or WARNING - if not, anScpException
is thrown- Parameters:
session
- The associatedClientSession
cmd
- The attempted remote copy commandchannel
- TheClientChannel
through which the command was sent - Note: then channel may be in the process of being closedhandler
- TheCommandStatusHandler
to invoke once the exit status is received. ifnull
thenhandleCommandExitStatus(ClientSession, String, Integer, Logger)
is calledlog
- An optionalLogger
to use for issuing log messages - ignored ifnull
- Throws:
java.io.IOException
- If failed the command
-
handleCommandExitStatus
public static void handleCommandExitStatus(ClientSession session, java.lang.String cmd, java.lang.Integer exitStatus, org.slf4j.Logger log) throws java.io.IOException
Invoked by the variousupload/download
methods after having successfully completed the remote copy command and (optionally) having received an exit status from the remote server- Parameters:
session
- The associatedClientSession
cmd
- The attempted remote copy commandexitStatus
- The exit status - ifnull
then no status was reportedlog
- An optionalLogger
to use for issuing log messages - ignored ifnull
- Throws:
java.io.IOException
- If got a an error exit status
-
-