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);
};