summaryrefslogtreecommitdiff
path: root/TAO/tests/CSD_Strategy_Tests/TP_Test_4/README
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tests/CSD_Strategy_Tests/TP_Test_4/README')
-rw-r--r--TAO/tests/CSD_Strategy_Tests/TP_Test_4/README337
1 files changed, 0 insertions, 337 deletions
diff --git a/TAO/tests/CSD_Strategy_Tests/TP_Test_4/README b/TAO/tests/CSD_Strategy_Tests/TP_Test_4/README
deleted file mode 100644
index 100428e0103..00000000000
--- a/TAO/tests/CSD_Strategy_Tests/TP_Test_4/README
+++ /dev/null
@@ -1,337 +0,0 @@
-// $Id$
-===========================================================================
-Directory: $TAO_ROOT/tests/CSD_Strategy_Tests/TP_Test_4
-
-Uses Libs: $TAO_ROOT/tests/CSD_Strategy_Tests/TP_Test_Lib
- $TAO_ROOT/tests/CSD_Strategy_Tests/TP_Foo_C
-
-===========================================================================
-Executable: server_main
-
-Description: The test server application.
-
-Command-Line:
-
- % server_main [options]
-
- where, [options] includes the following:
-
- -p <ior_filename_prefix>
- -s <num_servants>
- -n <num_csd_threads>
- -t <num_orb_threads>
- -r <num_remote_clients>
- -c <num_collocated_clients>
- -k <collocated_client_kind>
- -?
-
-Command-Line Arguments:
-
- -p <ior_filename_prefix>
-
- If not specified, the <ior_filename_prefix> defaults to "foo".
- This value is used as the prefix for the filename(s) to which
- the server application will write stringified object reference(s).
- Each "IOR file" contains the (stringified) object reference
- associated with a distinct servant object within the server
- application. These files are the way that the client application(s)
- are able to "locate" the object reference(s) upon which they will
- invoke (CORBA) operations. In essence, the filesystem is used
- as a "poor-man" Naming Service.
-
- The filenames are of the form, "prefix_%02d.ior", using a unique
- integer "id" for each file - starting with an "id" of 1. Thus,
- if the server application was told to create 3 servants (via the
- -s <num_servants> option), and the <ior_filename_prefix> is "foo",
- then three files will be written by the server application:
-
- foo_01.ior
- foo_02.ior
- foo_03.ior
-
-
- -s <num_servants>
-
- The <num_servants> must be an integer value greater than 0.
-
- If not specified, the <num_servants> defaults to 1. This is used
- to inform the server application of the number of distinct servant
- objects that it should create.
-
-
- -n <num_csd_threads>
-
- The <num_csd_threads> must be an integer value greater than 0.
-
- If not specified, the <num_csd_threads> defaults to 1. This is
- used to inform the server application of the number of worker
- threads that should be activated by the Thread Pool CSD Strategy.
- The worker threads are responsible for servicing the strategy's
- request queue. This can also be called the "size of the thread
- pool".
-
-
- -t <num_orb_threads>
-
- The <num_orb_threads> must be an integer value greater than 0.
-
- If not specified, the <num_orb_threads> defaults to 1. This option
- is used to tell the server application how many distinct threads
- should be used to run the ORB event loop. The "mainline thread"
- will always run the ORB event loop itself, so that accounts for
- one of the num_orb_threads. If num_orb_threads is greater than 1,
- then (num_orb_threads - 1) threads will be activated by the server
- application, and each of these threads will run the ORB event loop.
- The end result is that there will be <num_orb_threads> distinct
- threads (including the mainline thread) running the ORB event loop.
-
-
- -r <num_remote_clients>
-
- The <num_remote_clients> must be an integer value greater than,
- or equal to, 0. In addition, the sum of the <num_remote_clients>
- and the <num_collocated_clients> (see the -c option) must be
- greater than 0. Both cannot be 0, since the server application
- would interpret this to mean that no clients will ever use it,
- and that's kind of pointless.
-
- If not specified, the <num_remote_clients> defaults to 1. This
- option informs the server application how many remote clients it
- can expect to "hear" from over the course of its lifetime. Each
- distinct test client, remote or collocated, is required to invoke
- the done() operation on one of the servant objects. The server
- application decides to shut itself down gracefully when it has
- received one done() invocation for each remote client and for
- each collocated client. Once all of the expected done() calls
- have been made, the server application assumes that no more clients
- will need its services, and thus it shuts itself down. This is
- used to support the automated test scenarios implemented within
- the run_test.pl script. It provides a way for a test scenario to
- automate the graceful shutdown of the server by telling the server
- how many clients to expect (remote + collocated).
-
-
- -c <num_collocated_clients>
-
- The <num_collocated_clients> must be an integer value greater than,
- or equal to, 0. In addition, the sum of the <num_collocated_clients>
- and the <num_remote_clients> (see the -r option) must be
- greater than 0. Both cannot be 0, since the server application
- would interpret this to mean that no clients will ever use it,
- and that's kind of pointless.
-
- If not specified, the <num_collocated_clients> defaults to 0. This
- option informs the server application how many collocated clients
- should "live", collocated, within the server application. Each
- collocated client will execute its logic in a distinct thread
- within the server application. As an example, if the server
- application was told to use a <num_collocated_clients> value of 40,
- then the server application will activate 40 threads - each
- carrying out the logic of one "client". This client "logic" is
- identical to the logic carried out by a single remote client
- application (client_main) process. As with remote clients,
- each collocated client will invoke the done() operation on
- one of the servants (via an object ref) when the client logic
- has been completed. See the "-r <num_remote_clients>" option
- for more information about the done() operation, and its purpose.
-
- For this particular server application (TP_Test_4), each
- collocated client will perform the normal client logic as well
- as carry out a set of "custom" requests on the collocated servant.
- Custom operations not defined in IDL.
-
-
- -k <collocated_client_kind>
-
- This is reserved for future use. It currently doesn't get used
- for anything.
-
-
- -?
-
- This is used to request the "Usage Statement" for the Server
- Application (ie, "server_main -?" prints the usage statement).
-
-
-===========================================================================
-Executable: client_main
-
-Description: The test client application.
-
-Command-Line:
-
- % client_main [options]
-
- where, [options] includes the following:
-
- -i <ior>
- -n <client_id>
- -k <collocated_client_kind>
- -?
-
-
-Command-Line Arguments:
-
- -i <ior>
-
- The <ior> is required, and must be a valid IOR. In our case, where
- the server application saves stringified object references to files,
- we supply the client application with an <ior> in the following
- form: "file://foo_01.ior". See the server application's description
- of its "-p <ior_filename_prefix>" option for more information.
-
- The client application will use the <ior> to obtain an object
- reference using the CORBA::ORB::string_to_object() method. This
- is the object reference upon which the client logic will invoke
- operations. The object reference will be associated with a
- distinct servant object within the server application.
-
-
- -n <client_id>
-
- The <client_id> is required, and must be an integer value greater
- than 0.
-
- As part of the logic used to check actual vs. expected results,
- each client is assigned a unique id. As a side-note, each
- collocated client within the server application (if there are
- any) will also be assigned a unique client_id. For any given
- test scenario run by the run_test.pl script, each client (remote
- and/or collocated) will be assigned a unique client_id.
-
- The server application assigns client_ids to its collocated clients
- based upon its knowledge of how many remote clients will be used
- in the test scenario (see the "-r <num_remote_clients>" option
- for the server application). The server application assumes that
- the run_test.pl will assign client_ids to remote clients starting
- with 1, and up to the <num_remote_clients>. Thus, the server
- application assigns client_ids to collocated clients starting
- with (<num_remote_clients> + 1), and incrementing by 1 for each
- additional collocated client_id.
-
-
- -k <collocated_client_kind>
-
- This is reserved for future use. It currently doesn't get used
- for anything.
-
-
- -?
-
- This is used to request the "Usage Statement" for the Client
- Application (ie, "client_main -?" prints the usage statement).
-
-
-===========================================================================
-Executable: run_test.pl (PERL script).
-
-Description: Script used to run a specific test scenario. This includes
- the launching of a server application process and client
- applications processes as called for by the specific scenario.
-
-Command-Line:
-
- % run_test.pl <scenario>
-
- where, <scenario> can be one of the following values:
-
- "big"
- "a"
- "b"
-
- If a <scenario> is not specified on the run_test.pl command-line,
- then a default scenario is used.
-
-
-Scenarios:
-
- -----------------------------------------------------------------------
- Default: (when no <scenario> is specified on the command-line)
-
- $iorfname_prefix = "servant";
- $num_servants = 1;
- $num_orb_threads = 1;
- $num_remote_clients = 1;
- $num_csd_threads = 1;
- $num_collocated_clients = 0;
-
- -----------------------------------------------------------------------
- "remote":
-
- Uses the Default values, with the following overrides:
-
- $num_remote_clients = 40;
-
- -----------------------------------------------------------------------
- "collocated":
-
- Uses the Default values, with the following overrides:
-
- $num_remote_clients = 0;
- $num_collocated_clients = 1;
-
- -----------------------------------------------------------------------
- "collocated_big":
-
- Uses the Default values, with the following overrides:
-
- $num_remote_clients = 0;
- $num_csd_threads = 5;
- $num_collocated_clients = 40;
-
- -----------------------------------------------------------------------
- "remote_orbthreads":
-
- Uses the Default values, with the following overrides:
-
- $num_orb_threads = 5;
- $num_remote_clients = 40;
-
- -----------------------------------------------------------------------
- "remote_servants":
-
- Uses the Default values, with the following overrides:
-
- $num_servants = 5;
- $num_remote_clients = 40;
-
- -----------------------------------------------------------------------
- "remote_csdthreads":
-
- Uses the Default values, with the following overrides:
-
- $num_csd_threads = 5;
- $num_remote_clients = 40;
-
- -----------------------------------------------------------------------
- "remote_big":
-
- Uses the Default values, with the following overrides:
-
- $num_csd_threads = 5;
- $num_servants = 10;
- $num_orb_threads = 4;
- $num_remote_clients = 40;
-
- -----------------------------------------------------------------------
- "big":
-
- Uses the Default values, with the following overrides:
-
- $num_csd_threads = 5;
- $num_servants = 10;
- $num_orb_threads = 4;
- $num_remote_clients = 40;
- $num_collocated_clients = 40;
-
- -----------------------------------------------------------------------
- "usage":
-
- This is not really a test scenario, but it will cause the
- run_test.pl script to print a "Usage Statement", which includes
- a list of the supported <scenario> values.
-
- -----------------------------------------------------------------------
-
-
-===========================================================================