Figure 5: IDL for Load Balancing module interface IProxy
interface IProxy { }; typedef sequence<IAgent> LBAgentList; interface IAgent { enum ExceptionReason { SERVER_NOT_FOUND, MIXED_INTERFACE_TYPES, MASTER_REGISTER_FAILED, PROXY_REGISTER_FAILED, MASTER_UNAVAILABLE, UNKNOWN }; exception LoadBalancingException { ExceptionReason reason; }; void registerAgent(in IAgent agent); void unregisterAgent(in IAgent agent); void registerObject(in Object obj, in IAgent agent) raises (LoadBalancingException); void unregisterObject(in Object obj, in IAgent agent) raises (LoadBalancingException); oneway void updateLoadFactor(in double load, in IAgent agent); oneway void setAgentList(in LBAgentList agentList); };