Previous Table of Contents Next


23.3.5 Common Types


   module FT {interface GenericFactory;interface FaultNotifier;

   typedef CORBA::RepositoryId TypeId; typedef Object ObjectGroup;

   typedef CosNaming::Name Name; typedef any Value; struct Property {

   Name nam;

   Value val; }; typedef sequence<Property> Properties;

   typedef Name Location; typedef sequence<Location> Locations; typedef Properties Criteria; struct FactoryInfo {

   GenericFactory the_factory; Location the_location; Criteria the_criteria;

   };typedef sequence<FactoryInfo> FactoryInfos;

   typedef unsigned short ReplicationStyleValue;const ReplicationStyleValue STATELESS = 0;const ReplicationStyleValue COLD_PASSIVE = 1;const ReplicationStyleValue WARM_PASSIVE = 2;const ReplicationStyleValue ACTIVE = 3;const ReplicationStyleValue ACTIVE_WITH_VOTING = 4;

   typedef unsigned short MembershipStyleValue;const MembershipStyleValue MEMB_APP_CTRL = 0;const MembershipStyleValue MEMB_INF_CTRL = 1;

   typedef unsigned short ConsistencyStyleValue; const ConsistencyStyleValue CONS_APP_CTRL = 0; const ConsistencyStyleValue CONS_INF_CTRL = 1;

   typedef unsigned short FaultMonitoringStyleValue; const FaultMonitoringStyleValue PULL = 0; const FaultMonitoringStyleValue PUSH = 1; const FaultMonitoringStyleValue NOT_MONITORED = 2;

   typedef unsigned short FaultMonitoringGranularityValue; const FaultMonitoringGranularityValue MEMB = 0; const FaultMonitoringGranularityValue LOC = 1; const FaultMonitoringGranularityValue LOC_AND_TYPE = 2;

   typedef FactoryInfos FactoriesValue;

   typedef unsigned short InitialNumberReplicasValue; typedef unsigned short MinimumNumberReplicasValue;

   struct FaultMonitoringIntervalAndTimeoutValue { TimeBase::TimeT monitoring_interval; TimeBase::TimeT timeout;

   };

   typedef TimeBase::TimeT CheckpointIntervalValue;

   exception InterfaceNotFound {};

   exception ObjectGroupNotFound {};

   exception MemberNotFound {};

   exception ObjectNotFound {};

   exception MemberAlreadyPresent {};

   exception BadReplicationStyle {};

   exception ObjectNotCreated {};

   exception ObjectNotAdded {};

   exception PrimaryNotSet {};

   exception UnsupportedProperty { Name nam; Value val;

   };

   exception InvalidProperty { Name nam; Value val;

   };

   exception NoFactory { Location the_location; TypeId type_id;

   };

   exception InvalidCriteria { Criteria invalid_criteria;

   };

   exception CannotMeetCriteria { Criteria unmet_criteria;

   };};

   23.3.5.1 Identifiers

   typedef Object ObjectGroup;

   A reference to an object group.

   typedef CosNaming::Name Name;

   The name of a property

   typedef any Value;

   The value of a property.

   struct Property {Name nam;Value val;

   };

   The name-value pair for a property. The name may be hierarchical.

   typedef sequence<Property> Properties;

   A sequence of properties.

   typedef Name Location;

   The name for a fault containment region, host, device, cluster of hosts, etc., which may be hierarchical. For example, the kind field of the name might be “HostIP? which defines a particular format for the address in the id field. The id field would then contain an IP address for a host. For each object group and each location, only one member of that object group may exist at that location.

   typedef sequence<Location> Locations;

   A sequence of locations of the members of an object group.

   typedef Properties Criteria;

   Criteria is a sequence of property; that is, name-value pair. Examples of criteria are initialization values, constraints on an object, preferred location of the object, and fault tolerance properties of an object group.

   Two names are reserved for criteria: org.omg.ft.ObjectLocation and org.omg.ft.FTProperties. The org.omg.ft.ObjectLocation name tags a location value at which an object is to be created by a factory. The org.omg.ft.FTProperties

   name tags a sequence of name-value pairs that represent fault tolerance properties for an object group. All other criteria are implementation-specific and are interpreted only by the factory.

   struct FactoryInfo {

   GenericFactory the_factory;

   Location the_location;

   Criteria the_criteria; };

   A structure that contains the reference to a factory and the location and the criteria that the factory uses to create an object at the given location using the given criteria, such as initialization values, constraints on the object, etc.

   typedef sequence<FactoryInfo> FactoryInfos;

   A sequence of FactoryInfos.

   typedef unsigned short ReplicationStyleValue;

   const ReplicationStyleValue STATELESS = 0;

   const ReplicationStyleValue COLD_PASSIVE = 1;

   const ReplicationStyleValue WARM_PASSIVE = 2;

   const ReplicationStyleValue ACTIVE = 3;

   const ReplicationStyleValue ACTIVE_WITH_VOTING = 4;

   The values of the ReplicationStyle property.

   typedef unsigned short MembershipStyleValue;

   const MembershipStyleValue MEMB_APP_CTRL = 0;

   const MembershipStyleValue MEMB_INF_CTRL = 1;

   The values of the MembershipStyle property.

   typedef unsigned short ConsistencyStyleValue;

   const ConsistencyStyleValue CONS_APP_CTRL = 0;

   const ConsistencyStyleValue CONS_INF_CTRL = 1;

   The values of the ConsistencyStyle property.

   typedef unsigned short FaultMonitoringStyleValue;

   const FaultMonitoringStyleValue PULL = 0;

   const FaultMonitoringStyleValue PUSH = 1;

   const FaultMonitoringStyleValue NOT_MONITORED = 2;

   The values of the FaultMonitoringStyle property.

   typedef unsigned short FaultMonitoringGranularityValue;

   const FaultMonitoringGranularityValue MEMB = 0;

   const FaultMonitoringGranularityValue LOC = 1;

   const FaultMonitoringGranularityValue LOC_AND_TYPE = 2;

   The values of the FaultMonitoringGranularity property.

   typedef FactoryInfos FactoriesValue;The value of the Factories property.typedef unsigned short InitialNumberReplicasValue;The value of the InitialNumberReplicas property.typedef unsigned short MinimumNumberReplicasValue;The value of the MinimumNumberReplicas property.struct FaultMonitoringIntervalAndTimeoutValue {

   TimeBase::TimeT monitoring_interval;TimeBase::TimeT timeout;

   };The value of the FaultMonitoringIntervalAndTimeout property. Each field is oftype TimeBase::TimeT, which is a long long, and is in units of 100 nanoseconds.

   typedef TimeBase::TimeT CheckpointIntervalValue;The value of the CheckpointInterval property. TimeBase::TimeT is a long long, and the value is in units of 100 nanoseconds.

   23.3.5.2 Exceptions

   exception InterfaceNotFound {};

   The object with the given interface is not found by the Replication Manager.

   exception ObjectGroupNotFound {};

   The object group with the given identifier is not found by the Replication Manager.

   exception MemberNotFound {};

   No member of the object group exists at the given location.

   exception ObjectNotFound {};

   The object is not found by the Replication Manager.

   exception MemberAlreadyPresent {};

   A member of the object group already exists at the given location.

   exception BadReplicationStyle {};

   The ReplicationStyle of the object group is inappropriate.

   exception ObjectNotCreated {};

   The GenericFactory did not create the object.

   exception ObjectNotAdded {};

   The Replication Manager did not add the object to the object group.

   exception PrimaryNotSet {};

   The Replication Manager did not set the primary member of the object group.

   exception UnsupportedProperty { Name nam; Value val;

   };

   A property named in the property sequence is not supported.

   exception InvalidProperty { Name nam; Value val;

   };

   A property value in the property sequence is not valid either in itself (for example, because the number of replicas is negative) or because it conflicts with another property in the sequence or with other properties already in effect that are not overridden.

   exception NoFactory { Location the_location; TypeId type_id;

   };

   The factory cannot create an object at the given location with the given repository identifier.

   exception InvalidCriteria { Criteria invalid_criteria; };

   The factory does not understand the given criteria.

   exception CannotMeetCriteria { Criteria unmet_criteria; };

   The factory understands the given criteria, but cannot satisfy the criteria.