summaryrefslogtreecommitdiff
path: root/TAO/examples/Load_Balancing_persistent/Identity_Client.h
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>1999-10-31 00:43:58 +0000
committerbala <balanatarajan@users.noreply.github.com>1999-10-31 00:43:58 +0000
commitff049f869bc9828b86ea7e8fd3635df527ea6913 (patch)
treee7eef11bba5f55aefe73159c29219fc899fd83a8 /TAO/examples/Load_Balancing_persistent/Identity_Client.h
parent20ae7753ee54c4cf0ea8e2bd548a7b6f8bcc1ce9 (diff)
downloadATCD-ff049f869bc9828b86ea7e8fd3635df527ea6913.tar.gz
ChangeLogTag: Sat Oct 30 19:32:49 1999 Balachandran Natarajan <bala@cs.wustl.edu>
Diffstat (limited to 'TAO/examples/Load_Balancing_persistent/Identity_Client.h')
-rwxr-xr-xTAO/examples/Load_Balancing_persistent/Identity_Client.h84
1 files changed, 84 insertions, 0 deletions
diff --git a/TAO/examples/Load_Balancing_persistent/Identity_Client.h b/TAO/examples/Load_Balancing_persistent/Identity_Client.h
new file mode 100755
index 00000000000..b73e0392a2f
--- /dev/null
+++ b/TAO/examples/Load_Balancing_persistent/Identity_Client.h
@@ -0,0 +1,84 @@
+// $Id$
+// -*- C++ -*-
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/examples/Load_Balancing
+//
+// = FILENAME
+// Identity_Client.h
+//
+// = DESCRIPTION
+// Code for Identity_Client, which is used in conjunction with
+// Identity_Server to test/demonstrate the functionality of the
+// Load Balancing service.
+//
+// = AUTHORS
+// Marina Spivak <marina@cs.wustl.edu>
+// with modifications by Bala Natarajan <bala@cs.wustl.edu>
+// ============================================================================
+
+#ifndef IDENTITY_CLIENT_H_
+#define IDENTITY_CLIENT_H_
+
+#include "tao/TAO.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class Identity_Client
+{
+ // =TITLE
+ // Contacts the <Object_Group_Factory> in th Load Balancing Server
+ // to obtain a reference to the type of the <Object_Group>
+ // specified on the command line. Then, queries the
+ // <Object_Group> for its id and members, and prints that
+ // information. Finally, performs <number_of_invocations_>
+ // <Identity::get_name> calls, performing <Object_Group::resolve>
+ // before each <get_name> call in order to get the <Identity>
+ // reference to use for the call. (This provides an example of
+ // fine-grained, i.e., per call, Load Balancing among all the
+ // <Identity> objects registered with the <Object_Group> for the
+ // client's <get_name> calls.
+ //
+public:
+
+ Identity_Client (void);
+ // Default constructor.
+
+ ~Identity_Client (void);
+ // Destructor.
+
+ int init (int argc, char *argv[]);
+ // Initializes <orb_manager_>, and parses commandline arguments.
+
+ int run (CORBA::Environment &ACE_TRY_ENV);
+ // See TITLE.
+
+private:
+ int parse_args (int argc, char *argv[]);
+ // Parses the commandline arguments.
+
+ TAO_ORB_Manager orb_manager_;
+ // The ORB manager.
+
+ const char *group_factory_ior_;
+ // The ior of the <Object_Group_Factory> object we shall use to
+ // to obtain an <Object_Group> object.
+
+ size_t number_of_invocations_;
+ // Number of times to invoke <get_name> method on <Identity>
+ // objects. The default value is 5.
+
+ size_t use_random_;
+ // Flag indicating which <Object_Group> to use to obtain references
+ // to <Identity> objects. Random group should be used if the flag
+ // is set to 1, and round robin group otherwise. Round robin is the
+ // default.
+
+ int iterations_;
+};
+
+#endif /* IDENTITY_CLIENT_H_ */