📄 ftrt_groupmanager.idl
字号:
// -*- IDL -*-
//=============================================================================
/**
* @file FTRT_GroupManager.idl
*
* FTRT_GroupManager.idl,v 1.2 2003/10/15 18:07:27 huangming Exp
*
* @author Huang-Ming Huang
*/
//=============================================================================
#ifndef TAO_FTRT_GROUPMANAGER_IDL
#define TAO_FTRT_GROUPMANAGER_IDL
#include "orbsvcs/RtecEventChannelAdmin.idl"
#include "orb.idl"
#include "orbsvcs/CosNaming.idl"
#include "FTRT.idl"
module FTRT
{
typedef CosNaming::Name Location;
interface FaultListener {
/// called by the replica which detect the loss of connection with its
/// predecessor to the primary
oneway void replica_crashed(in Location location);
};
interface ObjectGroupManager;
struct ManagerInfo {
Location the_location;
ObjectGroupManager ior;
};
exception PredecessorUnreachable {};
typedef sequence<ManagerInfo> ManagerInfoList;
exception InvalidState{};
interface ObjectGroupManager : FaultListener {
boolean start(in FaultListener listener,
out Location the_location);
void create_group(in ManagerInfoList info_list,
in unsigned long object_group_ref_version)
raises(PredecessorUnreachable);
/// called by a newly created replica to the primary
// for requesting for joining a object group
oneway void join_group(in ManagerInfo info);
/// called by primary to replicas
/// for adding a new member to the group
void add_member(in ManagerInfo info,
in unsigned long object_group_ref_version);
/// called by the primary to backups for deleting a member from
/// the group
oneway void remove_member(in Location crashed_location,
in unsigned long object_group_ref_version);
void set_state(in State stat)
raises (InvalidState);
};
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -