Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.sshtools.j2ssh.transport
Class SshMessage

    java.lang.Object
      com.sshtools.j2ssh.transport.SshMessage

Direct Known Subclasses:
  SshMsgChannelClose, SshMsgChannelData, SshMsgChannelEOF, SshMsgChannelExtendedData, SshMsgChannelFailure, SshMsgChannelOpen, SshMsgChannelOpenConfirmation, SshMsgChannelOpenFailure, SshMsgChannelRequest, SshMsgChannelSuccess, SshMsgChannelWindowAdjust, SshMsgDebug, SshMsgDisconnect, SshMsgGlobalRequest, SshMsgIgnore, SshMsgKexDhInit, SshMsgKexDhReply, SshMsgKexInit, SshMsgNewKeys, SshMsgRequestFailure, SshMsgRequestSuccess, SshMsgServiceAccept, SshMsgServiceRequest, SshMsgUnimplemented, SshMsgUserAuthBanner, SshMsgUserAuthFailure, SshMsgUserAuthInfoRequest, SshMsgUserAuthInfoResponse, SshMsgUserAuthPKOK, SshMsgUserAuthPwdChangeReq, SshMsgUserAuthRequest, SshMsgUserAuthSuccess

public abstract class SshMessage
extends java.lang.Object

This class implements the payload portion each message sent by the transport protocol. Each message consists of an integer message id followed by a variable byte array containing message data.

Since:
  0.2.0

Constructor Summary
`SshMessage(int messageId)` Contructs the message.

Method Summary
`protected abstract void` | `constructByteArray(ByteArrayWriter baw)` Message implementations should implement this method, writing the data as exected in the transport protocol message format.
`protected abstract void` | `constructMessage(ByteArrayReader bar)` Message implementation should implement this method, reading the data as expected in the transport protocol message format.
`protected void` | `fromByteArray(ByteArrayReader data)` Initializes the message from a byte array.
`int` | `getMessageId()` Returns the id of the message
`static java.lang.Integer` | `getMessageId(byte[] msgdata)` Helper method to extract the message id from the complete message data recieved by the transport protocol.
`abstract java.lang.String` | `getMessageName()` Returns the name of the message implementation for debugging purposes.
`byte[]` | `toByteArray()` Format the message into the payload array for sending by the transport protocol.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SshMessage

    public SshMessage(int messageId)

  Contructs the message.

Parameters:
  `messageId` - the id of the message
Since:
  0.2.0

Method Detail

### getMessageId

    public final int getMessageId()

  Returns the id of the message

  Returns:
    an integer message id
  Since:
    0.2.0

### getMessageName

    public abstract java.lang.String getMessageName()

  Returns the name of the message implementation for debugging purposes.

  Returns:
    the name of the message e.g. "SSH_MSG_DISCONNECT"
  Since:
    0.2.0

### toByteArray

    public final byte[] toByteArray()
                             throws InvalidMessageException

  Format the message into the payload array for sending by the transport protocol. This implementation creates a byte array, writes the message id and calls the abstract `constructByteArray`.

  Returns:
    the payload portion of a transport protocol message
  Throws:
    `InvalidMessageException` - if the message is invalid
  Since:
    0.2.0

### fromByteArray

    protected final void fromByteArray(ByteArrayReader data)
                                throws InvalidMessageException

  Initializes the message from a byte array.

  Parameters:
    `data` - the byte array being read.
  Throws:
    `InvalidMessageException` - if the message is invalid
  Since:
    0.2.0

### getMessageId

    public static java.lang.Integer getMessageId(byte[] msgdata)

  Helper method to extract the message id from the complete message data recieved by the transport protocol.

  Parameters:
    `msgdata` - the transport protocol message
  Returns:
    the id of the message
  Since:
    0.2.0

### constructByteArray

    protected abstract void constructByteArray(ByteArrayWriter baw)
                                        throws InvalidMessageException

  Message implementations should implement this method, writing the data as exected in the transport protocol message format.

  Parameters:
    `baw` - the byte array being written to
  Throws:
    `InvalidMessageException` - if the message is invalid
  Since:
    0.2.0

### constructMessage

    protected abstract void constructMessage(ByteArrayReader bar)
                                      throws InvalidMessageException

  Message implementation should implement this method, reading the data as expected in the transport protocol message format.

  Parameters:
    `bar` - the byte array being read
  Throws:
    `InvalidMessageException` - if the message is invalid
  Since:
    0.2.0

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD