com.sun.slamd.message
Class ClientManagerHelloMessage

java.lang.Object
  extended by com.sun.slamd.message.Message
      extended by com.sun.slamd.message.ClientManagerHelloMessage

public class ClientManagerHelloMessage
extends Message

This class defines a client manager hello message that the client manager uses to identify itself to the server and tell the server the maximum number of clients that may be executed on the client system.

Author:
Neil A. Wilson

Field Summary
 
Fields inherited from class com.sun.slamd.message.Message
ASN1_TYPE_CLASS_TRANSFER_REQUEST, ASN1_TYPE_CLASS_TRANSFER_RESPONSE, ASN1_TYPE_CLIENT_HELLO, ASN1_TYPE_CLIENT_MANAGER_HELLO, ASN1_TYPE_HELLO_RESPONSE, ASN1_TYPE_JOB_COMPLETED, ASN1_TYPE_JOB_CONTROL_REQUEST, ASN1_TYPE_JOB_CONTROL_RESPONSE, ASN1_TYPE_JOB_REQUEST, ASN1_TYPE_JOB_RESPONSE, ASN1_TYPE_KEEPALIVE, ASN1_TYPE_REGISTER_STAT, ASN1_TYPE_REPORT_STAT, ASN1_TYPE_SERVER_HELLO, ASN1_TYPE_SERVER_SHUTDOWN, ASN1_TYPE_START_CLIENT_REQUEST, ASN1_TYPE_START_CLIENT_RESPONSE, ASN1_TYPE_STATUS_REQUEST, ASN1_TYPE_STATUS_RESPONSE, ASN1_TYPE_STOP_CLIENT_REQUEST, ASN1_TYPE_STOP_CLIENT_RESPONSE, messageID
 
Constructor Summary
ClientManagerHelloMessage(int messageID, java.lang.String clientVersion, java.lang.String clientID, int maxClients)
          Creates a new client manager hello message that will provide client ID, client version, and the maximum number of clients that may be created.
 
Method Summary
static ClientManagerHelloMessage decodeClientManagerHello(int messageID, ASN1Element element)
          Decodes the provided ASN.1 element as a client manager hello message.
 ASN1Element encode()
          Encodes this message into an ASN.1 element.
 java.lang.String getClientID()
          Retrieves the human-readable ID for the client.
 java.lang.String getClientVersion()
          Retrieves the version of the client software being used.
 int getMaxClients()
          Retrieves the maximum number of clients that will be allowed.
 java.lang.String toString()
          Retrieves a string representation of this message.
 
Methods inherited from class com.sun.slamd.message.Message
decode, getMessageID, getMessageType, send
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ClientManagerHelloMessage

public ClientManagerHelloMessage(int messageID,
                                 java.lang.String clientVersion,
                                 java.lang.String clientID,
                                 int maxClients)
Creates a new client manager hello message that will provide client ID, client version, and the maximum number of clients that may be created.

Parameters:
messageID - The message ID for this message.
clientVersion - The version of the client software being used.
clientID - The human-readable text that can be used to identify this client.
maxClients - The maximum number of clients that may be created.
Method Detail

getClientVersion

public java.lang.String getClientVersion()
Retrieves the version of the client software being used.

Returns:
The version of the client software being used.

getClientID

public java.lang.String getClientID()
Retrieves the human-readable ID for the client.

Returns:
The human-readable ID for the client.

getMaxClients

public int getMaxClients()
Retrieves the maximum number of clients that will be allowed.

Returns:
The maximum number of clients that will be allowed.

toString

public java.lang.String toString()
Retrieves a string representation of this message.

Overrides:
toString in class Message
Returns:
A string representation of this message.

decodeClientManagerHello

public static ClientManagerHelloMessage decodeClientManagerHello(int messageID,
                                                                 ASN1Element element)
                                                          throws SLAMDException
Decodes the provided ASN.1 element as a client manager hello message.

Parameters:
messageID - The message ID to use for this message.
element - The ASN.1 element containing the ClientManagerHello sequence.
Returns:
The client manager hello message decoded from the ASN.1 element.
Throws:
SLAMDException - If the provided ASN.1 element cannot be decoded as a client manager hello message.

encode

public ASN1Element encode()
Encodes this message into an ASN.1 element. A client hello manager message has the following ASN.1 syntax:

ClientManagerHello ::= [APPLICATION 14] SEQUENCE { clientVersion OCTET STRING, clientID OCTET STRING, maxClients INTEGER }

Specified by:
encode in class Message
Returns:
An ASN.1 encoded representation of this message.