Interface Channel

All Superinterfaces:
AutoCloseable, Closeable, ErrorNotifiable, SSHPacketHandler
All Known Subinterfaces:
Channel.Direct, Channel.Forwarded, Session, Session.Command, Session.Shell, Session.Subsystem
All Known Implementing Classes:
AbstractChannel, AbstractDirectChannel, AbstractForwardedChannel, DirectConnection, DirectTCPIPChannel, LocalPortForwarder.ForwardedChannel, RemotePortForwarder.ForwardedTCPIPChannel, SessionChannel, X11Forwarder.X11Channel

public interface Channel extends Closeable, SSHPacketHandler, ErrorNotifiable
A channel is the basic medium for application-layer data on top of an SSH transport.
  • Method Details

    • close

      Close this channel.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      TransportException
      ConnectionException
    • getAutoExpand

      boolean getAutoExpand()
      Returns:
      whether auto-expansion of local window is set.
      See Also:
    • getID

      int getID()
      Returns:
      the channel ID
    • getInputStream

      InputStream getInputStream()
      Returns:
      the InputStream for this channel.
    • getLocalMaxPacketSize

      int getLocalMaxPacketSize()
      Returns:
      the maximum packet size that we have specified.
    • getLocalWinSize

      long getLocalWinSize()
      Returns:
      the current local window size.
    • getOutputStream

      OutputStream getOutputStream()
      Returns:
      an OutputStream for this channel.
    • getRecipient

      int getRecipient()
      Returns:
      the channel ID at the remote end.
    • getRemoteCharset

      Charset getRemoteCharset()
      Returns:
      the character set used to communicate with the remote machine for certain strings (like paths).
    • getRemoteMaxPacketSize

      int getRemoteMaxPacketSize()
      Returns:
      the maximum packet size as specified by the remote end.
    • getRemoteWinSize

      long getRemoteWinSize()
      Returns:
      the current remote window size.
    • getType

      String getType()
      Returns:
      the channel type identifier.
    • isOpen

      boolean isOpen()
      Returns:
      whether the channel is open.
    • setAutoExpand

      void setAutoExpand(boolean autoExpand)
      Set whether local window should automatically expand when data is received, irrespective of whether data has been read from that stream. This is useful e.g. when a remote command produces a lot of output that would fill the local window but you are not interested in reading from its InputStream.
      Parameters:
      autoExpand - whether local windows should automatically expand
    • join

      void join() throws ConnectionException
      Throws:
      ConnectionException
    • join

      void join(long timeout, TimeUnit unit) throws ConnectionException
      Throws:
      ConnectionException
    • isEOF

      boolean isEOF()
      Returns whether EOF has been received.
    • getLoggerFactory

      LoggerFactory getLoggerFactory()
      Get the LoggerFactory associated with the SSH client.