summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.h43
1 files changed, 21 insertions, 22 deletions
diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.h b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.h
index 660b40c44a9..9d6032ae498 100644
--- a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.h
+++ b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.h
@@ -57,36 +57,35 @@ public:
/// Implementation for FT. Please refer to
/// $TAO_ROOT/tao/Invocation_Endpoint_Selectors.h for details of
/// documentation.
- virtual void select_endpoint (TAO_GIOP_Invocation *invocation
+ virtual void select_endpoint (TAO::Profile_Transport_Resolver *r,
+ ACE_Time_Value *val
ACE_ENV_ARG_DECL);
- virtual void next (TAO_GIOP_Invocation *invocation
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
- virtual void forward (TAO_GIOP_Invocation *invocation,
- const TAO_MProfile &mprofile
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
- virtual void success (TAO_GIOP_Invocation *invocation);
- virtual void close_connection (TAO_GIOP_Invocation *invocation);
-
protected:
-
- int select_endpoint_i (TAO_GIOP_Invocation *invoc
+ /// Select the primary and try connecting to it.
+ bool select_primary (TAO::Profile_Transport_Resolver *r,
+ ACE_Time_Value *val
+ ACE_ENV_ARG_DECL);
+
+ /// Select the secondary and try connecting to it. Returns true if
+ /// successfull.
+ bool select_secondary (TAO::Profile_Transport_Resolver *r,
+ ACE_Time_Value *val
ACE_ENV_ARG_DECL);
- int select_primary (TAO_GIOP_Invocation *invocation
- ACE_ENV_ARG_DECL);
-
- int check_profile_for_primary (TAO_GIOP_Invocation *,
- TAO_Profile *
- ACE_ENV_ARG_DECL);
+ /// Helper method that tries to establish connections with all the
+ /// endpoints in the profile.
+ bool try_connect (TAO::Profile_Transport_Resolver *r,
+ TAO_Profile *profile,
+ ACE_Time_Value *max_wait_time
+ ACE_ENV_ARG_DECL);
-private:
+ /// Helper method that checks whether the profile is a primary or
+ /// not.
+ bool check_profile_for_primary (TAO_Profile *
+ ACE_ENV_ARG_DECL);
- /// Is the primary alive? The default is yes.
- CORBA::Boolean is_primary_alive_;
- /// Has the profile list been rewound
- CORBA::Boolean is_rewound_;
};
#if defined (__ACE_INLINE__)