diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/FT_NamingReplication.idl')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/FT_NamingReplication.idl | 31 |
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 { /* |