TPTP 4.2.0 Platform Project
Internal API Specification

org.eclipse.hyades.internal.execution.local.common
Class MultiplexedDataServer

java.lang.Object
  extended byorg.eclipse.hyades.internal.execution.local.common.MultiplexedDataServer
All Implemented Interfaces:
AgentListener, Constants

public class MultiplexedDataServer
extends java.lang.Object
implements AgentListener, Constants

Please see TCPDataServer for implmentation details.


Field Summary
static byte BINARY_DATA
           
static byte UNICODE_STRING_DATA
           
static byte UTF8_STRING_DATA
           
 
Fields inherited from interface org.eclipse.hyades.internal.execution.local.common.Constants
CTL_PORT_NUM_CLIENT, CTL_PORT_NUM_SERVER, DATA_PORT_NUM_CLIENT, DEFAULT_TIMEOUT, MAX_COMMAND_LINE_LENGTH, MAX_DATA_LENGTH, MAX_MESSAGE_LENGTH, MESSAGE_HEADER_LENGTH, RA_ACKNOWLEDGEMENT_MESSAGE, RA_AGENT_ACTIVE, RA_AGENT_ATTACHED, RA_AGENT_CONFIGURATION, RA_AGENT_CONTROLLER_AVAILABLE, RA_AGENT_CONTROLLER_UNAVAILABLE, RA_AGENT_DETACHED, RA_AGENT_DETAILS, RA_AGENT_INACTIVE, RA_AGENT_LIST, RA_AGENT_QUERY_STATE, RA_AGENT_REQUEST_MONITOR, RA_AGENT_REQUEST_MONITOR_PORT, RA_AGENT_SCOPING_INFORMATION, RA_ATTACH_FAILED, RA_ATTACH_SUCCESSFUL, RA_ATTACH_TO_AGENT, RA_AUTHENTICATE, RA_AUTHENTICATION_FAILED, RA_AUTHENTICATION_SUCCESSFUL, RA_BINARY_CUSTOM_COMMAND, RA_CONSOLE_INFO, RA_CONTROL_MESSAGE, RA_CONTROLLER_MONITOR_PEER, RA_CONTROLLER_REQUEST_MONITOR, RA_CONTROLLER_REQUEST_MONITOR_PORT, RA_CUSTOM_COMMAND, RA_DELETE_FILE, RA_DETACH_FROM_AGENT, RA_ERROR_STRING, RA_GET_FILE, RA_GET_PROPERTY_LIST, RA_KILL_PROCESS, RA_LAUNCH_PROCESS, RA_LOCAL_AGENT_ACTIVE, RA_MAGIC, RA_MAGIC_0, RA_MAGIC_1, RA_MAGIC_2, RA_MAGIC_3, RA_MANAGE_FILE, RA_MASTER_ADDRESS, RA_PEER_UNREACHABLE, RA_PIPE_NAMESPACE, RA_PIPE_NAMESPACE_WIN32, RA_PROCESS_EXITED, RA_PROCESS_LAUNCHED, RA_PROCESS_LIST, RA_PROPERTY_LIST, RA_PUT_FILE, RA_QUERY_AGENT_DETAILS, RA_QUERY_AGENT_LIST, RA_QUERY_PROCESS_LIST, RA_REGISTER_AGENT_NOTIFICATION, RA_RESOURCE_LOCATION, RA_SERVER_SECURITY_REQUIREMENTS, RA_SET_NAME_VALUE_PAIR, RA_SHUTDOWN, RA_START_MONITORING_AGENT_LOCAL, RA_START_MONITORING_AGENT_REMOTE, RA_STOP_MONITORING_AGENT, RA_VERSION, sizeofByte, sizeofChar, sizeofLong, sizeofShort
 
Constructor Summary
MultiplexedDataServer()
           
 
Method Summary
 void agentActive(Agent agent)
          Invoked when an agent first becomes active
 void agentInactive(Agent agent)
          Invoked when an agent becomes inactive.
protected  boolean checkMessageMagic()
          Check the message magic number.
 void error(Agent agent, java.lang.String errorId, java.lang.String errorMessage)
          Invoked when an error is recieved from the agent.
protected  long getMessageLength()
          Get the length of the current message
protected  byte getMessageType()
          Get the message type.
 void handleCommand(Agent agent, CommandElement command)
          Invoked when there is no established handler for the context of a message.
 void incommingData(byte[] b, java.net.InetAddress peer)
           
 void incommingData(char[] c, java.net.InetAddress peer)
           
 boolean isProcessing()
           
protected  int loadMessageHeader(byte[] data, int offset, int limit)
           
protected  int processData(byte[] data, int offset, int limit, java.net.InetAddress addr)
           
 void resumeServer()
           
 void resumeServer(DataProcessor processor)
           
 void shutdownServer()
           
 void startServer(DataProcessor processor)
           
 void stopServer()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BINARY_DATA

public static final byte BINARY_DATA
See Also:
Constant Field Values

UTF8_STRING_DATA

public static final byte UTF8_STRING_DATA
See Also:
Constant Field Values

UNICODE_STRING_DATA

public static final byte UNICODE_STRING_DATA
See Also:
Constant Field Values
Constructor Detail

MultiplexedDataServer

public MultiplexedDataServer()
Method Detail

startServer

public void startServer(DataProcessor processor)
                 throws java.lang.Exception
Throws:
java.lang.Exception

isProcessing

public boolean isProcessing()

stopServer

public void stopServer()

resumeServer

public void resumeServer()

resumeServer

public void resumeServer(DataProcessor processor)

shutdownServer

public void shutdownServer()

incommingData

public void incommingData(byte[] b,
                          java.net.InetAddress peer)

incommingData

public void incommingData(char[] c,
                          java.net.InetAddress peer)

agentActive

public void agentActive(Agent agent)
Description copied from interface: AgentListener
Invoked when an agent first becomes active

Specified by:
agentActive in interface AgentListener

agentInactive

public void agentInactive(Agent agent)
Description copied from interface: AgentListener
Invoked when an agent becomes inactive.

Specified by:
agentInactive in interface AgentListener

error

public void error(Agent agent,
                  java.lang.String errorId,
                  java.lang.String errorMessage)
Description copied from interface: AgentListener
Invoked when an error is recieved from the agent.

Specified by:
error in interface AgentListener

handleCommand

public void handleCommand(Agent agent,
                          CommandElement command)
Description copied from interface: AgentListener
Invoked when there is no established handler for the context of a message.

Specified by:
handleCommand in interface AgentListener

processData

protected int processData(byte[] data,
                          int offset,
                          int limit,
                          java.net.InetAddress addr)

loadMessageHeader

protected int loadMessageHeader(byte[] data,
                                int offset,
                                int limit)

getMessageLength

protected long getMessageLength()
Get the length of the current message


getMessageType

protected byte getMessageType()
Get the message type. There are currently three types of messages. BINARY_DATA, UTF8_STRING_DATA, UNICODE_STRING_DATA.


checkMessageMagic

protected boolean checkMessageMagic()
Check the message magic number. If the magic number is incorrect we need to go into recovery mode


TPTP 4.2.0 Platform Project
Internal API Specification