org.iids.aos.api
Class AgentScapeApiSunrpcDispatcher

java.lang.Object
  extended by org.acplt.oncrpc.server.OncRpcServerStub
      extended by org.iids.aos.api.xdr.api_AgentScape_ServerStub
          extended by org.iids.aos.api.AgentScapeApiSunrpcDispatcher
All Implemented Interfaces:
org.acplt.oncrpc.server.OncRpcDispatchable

public class AgentScapeApiSunrpcDispatcher
extends api_AgentScape_ServerStub

XDR (SunRPC) dispatcher for AgentScape agents. Creates a sunrpc dispatcher for the AgentScape interface for agents over a SunRPC, using a TCP socket. This is used to allow non-Java agents to interact with the AgentScape interface.

Currently, each agent has its own instance of an AgentScape interface and its own associated AgentRunner. As such, there is a SunRPC dispatcher for each running agent that requires XDR to interact with AgentScape.

Author:
rjtimmer

Field Summary
protected  java.lang.Thread listenThread
           
 
Fields inherited from class org.acplt.oncrpc.server.OncRpcServerStub
info, shutdownSignal, transports
 
Method Summary
 AS_create_agent_out AS_create_agent_2(AS_create_agent_in arg1)
           
 AS_delete_code_out AS_delete_code_2(AS_delete_code_in arg1)
           
 AS_delete_data_out AS_delete_data_2(AS_delete_data_in arg1)
           
 AS_find_out AS_find_2(AS_find_in arg1)
           
 AS_get_handles_out AS_get_handles_2(AS_get_handles_in arg1)
           
 AS_kill_out AS_kill_2(AS_kill_in arg1)
           
 AS_list_out AS_list_2(AS_list_in arg1)
           
 AS_list_code_out AS_list_code_2(AS_list_code_in arg1)
           
 AS_list_data_out AS_list_data_2(AS_list_data_in arg1)
           
 AS_lookup_out AS_lookup_2(AS_lookup_in arg1)
           
 AS_move_out AS_move_2(AS_move_in arg1)
           
 AS_read_code_out AS_read_code_2(AS_read_code_in arg1)
           
 AS_read_data_out AS_read_data_2(AS_read_data_in arg1)
           
 AS_receive_message_out AS_receive_message_2(AS_receive_message_in arg1)
           
 AS_register_out AS_register_2(AS_register_in arg1)
           
 AS_send_message_out AS_send_message_2(AS_send_message_in arg1)
           
 AS_set_default_code_out AS_set_default_code_2(AS_set_default_code_in arg1)
           
 AS_start_agent_out AS_start_agent_2(AS_start_agent_in arg1)
           
 AS_write_code_out AS_write_code_2(AS_write_code_in arg1)
           
 AS_write_data_out AS_write_data_2(AS_write_data_in arg1)
           
static AgentScapeApiSunrpcDispatcher createInstance()
           
 void dispatchOncRpcCall(org.acplt.oncrpc.server.OncRpcCallInformation call, int program, int version, int procedure)
           
static AgentScapeApiSunrpcDispatcher getInstance()
           
 int getPort()
          Obtain port information of SunRPC dispatcher.
 void stop()
          Stop SunRPC request processing.
 
Methods inherited from class org.acplt.oncrpc.server.OncRpcServerStub
close, getCharacterEncoding, register, run, run, setCharacterEncoding, stopRpcProcessing, unregister
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

listenThread

protected java.lang.Thread listenThread
Method Detail

createInstance

public static AgentScapeApiSunrpcDispatcher createInstance()

getInstance

public static AgentScapeApiSunrpcDispatcher getInstance()

getPort

public int getPort()
Obtain port information of SunRPC dispatcher. This call may block for a short period, waiting for the transports to come up.

Returns:
The TCP/UDP port number on which the dispatcher is running.

stop

public void stop()
Stop SunRPC request processing. Must be called whenever the AgentRunner associated with this XDR wrapper notices that the agent has died. Because each AS dispatcher is dedicated to a single running agent instance, the dispatcher can stop processing requests as soon as the agent was removed from the system.


AS_register_2

public AS_register_out AS_register_2(AS_register_in arg1)
Specified by:
AS_register_2 in class api_AgentScape_ServerStub

AS_lookup_2

public AS_lookup_out AS_lookup_2(AS_lookup_in arg1)
Specified by:
AS_lookup_2 in class api_AgentScape_ServerStub

AS_list_2

public AS_list_out AS_list_2(AS_list_in arg1)
Specified by:
AS_list_2 in class api_AgentScape_ServerStub

AS_find_2

public AS_find_out AS_find_2(AS_find_in arg1)
Specified by:
AS_find_2 in class api_AgentScape_ServerStub

AS_create_agent_2

public AS_create_agent_out AS_create_agent_2(AS_create_agent_in arg1)
Specified by:
AS_create_agent_2 in class api_AgentScape_ServerStub

AS_kill_2

public AS_kill_out AS_kill_2(AS_kill_in arg1)
Specified by:
AS_kill_2 in class api_AgentScape_ServerStub

AS_move_2

public AS_move_out AS_move_2(AS_move_in arg1)
Specified by:
AS_move_2 in class api_AgentScape_ServerStub

AS_send_message_2

public AS_send_message_out AS_send_message_2(AS_send_message_in arg1)
Specified by:
AS_send_message_2 in class api_AgentScape_ServerStub

AS_receive_message_2

public AS_receive_message_out AS_receive_message_2(AS_receive_message_in arg1)
Specified by:
AS_receive_message_2 in class api_AgentScape_ServerStub

AS_get_handles_2

public AS_get_handles_out AS_get_handles_2(AS_get_handles_in arg1)
Specified by:
AS_get_handles_2 in class api_AgentScape_ServerStub

AS_start_agent_2

public AS_start_agent_out AS_start_agent_2(AS_start_agent_in arg1)
Specified by:
AS_start_agent_2 in class api_AgentScape_ServerStub

AS_write_data_2

public AS_write_data_out AS_write_data_2(AS_write_data_in arg1)
Specified by:
AS_write_data_2 in class api_AgentScape_ServerStub

AS_read_data_2

public AS_read_data_out AS_read_data_2(AS_read_data_in arg1)
Specified by:
AS_read_data_2 in class api_AgentScape_ServerStub

AS_delete_data_2

public AS_delete_data_out AS_delete_data_2(AS_delete_data_in arg1)
Specified by:
AS_delete_data_2 in class api_AgentScape_ServerStub

AS_list_data_2

public AS_list_data_out AS_list_data_2(AS_list_data_in arg1)
Specified by:
AS_list_data_2 in class api_AgentScape_ServerStub

AS_read_code_2

public AS_read_code_out AS_read_code_2(AS_read_code_in arg1)
Specified by:
AS_read_code_2 in class api_AgentScape_ServerStub

AS_write_code_2

public AS_write_code_out AS_write_code_2(AS_write_code_in arg1)
Specified by:
AS_write_code_2 in class api_AgentScape_ServerStub

AS_delete_code_2

public AS_delete_code_out AS_delete_code_2(AS_delete_code_in arg1)
Specified by:
AS_delete_code_2 in class api_AgentScape_ServerStub

AS_list_code_2

public AS_list_code_out AS_list_code_2(AS_list_code_in arg1)
Specified by:
AS_list_code_2 in class api_AgentScape_ServerStub

AS_set_default_code_2

public AS_set_default_code_out AS_set_default_code_2(AS_set_default_code_in arg1)
Specified by:
AS_set_default_code_2 in class api_AgentScape_ServerStub

dispatchOncRpcCall

public void dispatchOncRpcCall(org.acplt.oncrpc.server.OncRpcCallInformation call,
                               int program,
                               int version,
                               int procedure)
                        throws org.acplt.oncrpc.OncRpcException,
                               java.io.IOException
Specified by:
dispatchOncRpcCall in interface org.acplt.oncrpc.server.OncRpcDispatchable
Overrides:
dispatchOncRpcCall in class api_AgentScape_ServerStub
Throws:
org.acplt.oncrpc.OncRpcException
java.io.IOException


Copyright ? 2003, 2004 IIDS Group. All Rights Reserved.