summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/FT_NamingReplication.idl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/FT_NamingReplication.idl')
-rw-r--r--TAO/orbsvcs/orbsvcs/FT_NamingReplication.idl31
1 files changed, 30 insertions, 1 deletions
diff --git a/TAO/orbsvcs/orbsvcs/FT_NamingReplication.idl b/TAO/orbsvcs/orbsvcs/FT_NamingReplication.idl
index d499c6d1321..ef78d5ea9ed 100644
--- a/TAO/orbsvcs/orbsvcs/FT_NamingReplication.idl
+++ b/TAO/orbsvcs/orbsvcs/FT_NamingReplication.idl
@@ -3,6 +3,7 @@
/**
* @file FT_NamingReplication.idl
*
+ *
* This file is part of Fault Tolerant Naming Service in support of
* replication between redundant servers.
*
@@ -20,12 +21,17 @@
module FT_Naming
{
- enum ChangeType { NEW, UPDATED, DELETED };
+ enum ChangeType { NEW, UPDATED, DELETED, NONE };
exception NotAvailable
{
};
+ exception InvalidPeer
+ {
+ string reason;
+ };
+
/*
* A structure that describes the updated element in a Naming Service
*/
@@ -39,6 +45,7 @@ module FT_Naming
struct ReplicaInfo
{
+ boolean combined;
CosNaming::NamingContext root_context;
FT_Naming::NamingManager naming_manager;
};
@@ -55,6 +62,28 @@ module FT_Naming
ChangeType change_type;
};
+ enum EntityKind {
+ ctx_name,
+ obj_grp
+ };
+
+ union UpdateInfo switch (EntityKind) {
+ case ctx_name : NamingContextUpdate ctx;
+ case obj_grp : ObjectGroupUpdate grp;
+ };
+
+ typedef sequence<UpdateInfo> UpdateInfoSeq;
+
+ interface UpdatePushNotifier
+ {
+ oneway void register_peer (in UpdatePushNotifier peer,
+ in ReplicaInfo info,
+ in unsigned long long initial_seq_num);
+
+ void notify_update (in unsigned long long seq_num,
+ inout UpdateInfoSeq info);
+ };
+
interface ReplicationManager
{
/*