Package com.sshtools.j2ssh.connection
Class Channel
- java.lang.Object
-
- com.sshtools.j2ssh.connection.Channel
-
- Direct Known Subclasses:
BindingChannel
,IOChannel
,SocketChannel
,SubsystemChannel
public abstract class Channel extends java.lang.Object
- Version:
- $Revision: 1.74 $
- Author:
- $author$
-
-
Field Summary
Fields Modifier and Type Field Description protected ConnectionProtocol
connection
protected long
localChannelId
protected long
localPacketSize
protected ChannelDataWindow
localWindow
protected long
remoteChannelId
protected long
remotePacketSize
protected ChannelDataWindow
remoteWindow
protected ChannelState
state
-
Constructor Summary
Constructors Constructor Description Channel()
Creates a new Channel object.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addEventListener(ChannelEventListener eventListener)
void
close()
protected void
finalizeClose()
abstract byte[]
getChannelConfirmationData()
abstract byte[]
getChannelOpenData()
abstract java.lang.String
getChannelType()
long
getLocalChannelId()
long
getLocalPacketSize()
ChannelDataWindow
getLocalWindow()
protected abstract int
getMaximumPacketSize()
protected abstract int
getMaximumWindowSpace()
protected abstract int
getMinimumWindowSpace()
java.lang.String
getName()
long
getRemoteChannelId()
long
getRemotePacketSize()
ChannelDataWindow
getRemoteWindow()
ChannelState
getState()
protected void
init(ConnectionProtocol connection, long localChannelId, long senderChannelId, long initialWindowSize, long maximumPacketSize)
protected void
init(ConnectionProtocol connection, long localChannelId, long senderChannelId, long initialWindowSize, long maximumPacketSize, ChannelEventListener eventListener)
boolean
isClosed()
boolean
isLocalEOF()
boolean
isOpen()
boolean
isRemoteEOF()
protected abstract void
onChannelClose()
protected abstract void
onChannelData(SshMsgChannelData msg)
protected abstract void
onChannelEOF()
protected abstract void
onChannelExtData(SshMsgChannelExtendedData msg)
protected abstract void
onChannelOpen()
protected abstract void
onChannelRequest(java.lang.String requestType, boolean wantReply, byte[] requestData)
protected void
open()
protected void
processChannelData(SshMsgChannelData msg)
protected void
processChannelData(SshMsgChannelExtendedData msg)
protected void
remoteClose()
protected void
sendChannelData(byte[] data)
protected void
sendChannelExtData(int type, byte[] data)
void
setLocalEOF()
void
setName(java.lang.String name)
protected void
setRemoteEOF()
-
-
-
Field Detail
-
localWindow
protected ChannelDataWindow localWindow
-
remoteWindow
protected ChannelDataWindow remoteWindow
-
connection
protected ConnectionProtocol connection
-
localChannelId
protected long localChannelId
-
localPacketSize
protected long localPacketSize
-
remoteChannelId
protected long remoteChannelId
-
remotePacketSize
protected long remotePacketSize
-
state
protected ChannelState state
-
-
Method Detail
-
getChannelOpenData
public abstract byte[] getChannelOpenData()
- Returns:
-
getChannelConfirmationData
public abstract byte[] getChannelConfirmationData()
- Returns:
-
getChannelType
public abstract java.lang.String getChannelType()
- Returns:
-
getMinimumWindowSpace
protected abstract int getMinimumWindowSpace()
- Returns:
-
getMaximumWindowSpace
protected abstract int getMaximumWindowSpace()
- Returns:
-
getMaximumPacketSize
protected abstract int getMaximumPacketSize()
- Returns:
-
onChannelData
protected abstract void onChannelData(SshMsgChannelData msg) throws java.io.IOException
- Parameters:
msg
-- Throws:
java.io.IOException
-
processChannelData
protected void processChannelData(SshMsgChannelData msg) throws java.io.IOException
- Parameters:
msg
-- Throws:
java.io.IOException
-
isClosed
public boolean isClosed()
- Returns:
-
isOpen
public boolean isOpen()
- Returns:
-
sendChannelData
protected void sendChannelData(byte[] data) throws java.io.IOException
- Parameters:
data
-- Throws:
java.io.IOException
-
sendChannelExtData
protected void sendChannelExtData(int type, byte[] data) throws java.io.IOException
- Parameters:
type
-data
-- Throws:
java.io.IOException
-
onChannelExtData
protected abstract void onChannelExtData(SshMsgChannelExtendedData msg) throws java.io.IOException
- Parameters:
msg
-- Throws:
java.io.IOException
-
processChannelData
protected void processChannelData(SshMsgChannelExtendedData msg) throws java.io.IOException
- Parameters:
msg
-- Throws:
java.io.IOException
-
getLocalChannelId
public long getLocalChannelId()
- Returns:
-
getLocalPacketSize
public long getLocalPacketSize()
- Returns:
-
getLocalWindow
public ChannelDataWindow getLocalWindow()
- Returns:
-
getRemoteChannelId
public long getRemoteChannelId()
- Returns:
-
getRemotePacketSize
public long getRemotePacketSize()
- Returns:
-
getRemoteWindow
public ChannelDataWindow getRemoteWindow()
- Returns:
-
getState
public ChannelState getState()
- Returns:
-
close
public void close() throws java.io.IOException
- Throws:
java.io.IOException
-
remoteClose
protected void remoteClose() throws java.io.IOException
- Throws:
java.io.IOException
-
finalizeClose
protected void finalizeClose() throws java.io.IOException
- Throws:
java.io.IOException
-
setLocalEOF
public void setLocalEOF() throws java.io.IOException
- Throws:
java.io.IOException
-
isLocalEOF
public boolean isLocalEOF()
- Returns:
-
isRemoteEOF
public boolean isRemoteEOF()
- Returns:
-
setRemoteEOF
protected void setRemoteEOF() throws java.io.IOException
- Throws:
java.io.IOException
-
addEventListener
public void addEventListener(ChannelEventListener eventListener)
- Parameters:
eventListener
-
-
init
protected void init(ConnectionProtocol connection, long localChannelId, long senderChannelId, long initialWindowSize, long maximumPacketSize) throws java.io.IOException
- Parameters:
connection
-localChannelId
-senderChannelId
-initialWindowSize
-maximumPacketSize
-- Throws:
java.io.IOException
-
open
protected void open() throws java.io.IOException
- Throws:
java.io.IOException
-
init
protected void init(ConnectionProtocol connection, long localChannelId, long senderChannelId, long initialWindowSize, long maximumPacketSize, ChannelEventListener eventListener) throws java.io.IOException
- Parameters:
connection
-localChannelId
-senderChannelId
-initialWindowSize
-maximumPacketSize
-eventListener
-- Throws:
java.io.IOException
-
onChannelClose
protected abstract void onChannelClose() throws java.io.IOException
- Throws:
java.io.IOException
-
onChannelEOF
protected abstract void onChannelEOF() throws java.io.IOException
- Throws:
java.io.IOException
-
onChannelOpen
protected abstract void onChannelOpen() throws java.io.IOException
- Throws:
java.io.IOException
-
onChannelRequest
protected abstract void onChannelRequest(java.lang.String requestType, boolean wantReply, byte[] requestData) throws java.io.IOException
- Parameters:
requestType
-wantReply
-requestData
-- Throws:
java.io.IOException
-
setName
public void setName(java.lang.String name)
- Parameters:
name
-
-
getName
public java.lang.String getName()
- Returns:
-
-