Merge pull request #2303 from jwillemsen/jwi-803
[ACE_TAO.git] / TAO / tests / CSD_Strategy_Tests / README
blobbc2e21ed174ea21e6e7a0e4f3d07e5ca5100e8d9
3 This directory contains tests for the Custom Servant Dispatching (CSD)
4 feature implemented within TAO.  Specifically, these tests use the reference
5 implementation CSD Strategy, called the Thread Pool (TP) CSD Strategy.
7 Each sub-directory should contain its own README file which describes the
8 contents of the particular sub-directory in more detail.  The following
9 is a list of sub-directories located here under the
10 $TAO_ROOT/tests/CSD_Strategy_Tests directory:
12 TP_Test_Lib
13 -----------
15     This sub-directory contains source code used to build the
16     "CSD_TP_Test" library (ie, libCSD_TP_Test.so).  This library contains
17     infrastructure code used by all of the CSD test applications.  The
18     purpose of this library is code re-use and ease of maintenance (ie,
19     change/fix something in this library, and all applications using it
20     will gain the benefit.)
23 TP_Foo_A
24 --------
26     This sub-directory contains source code used to build the
27     "CSD_TP_Foo_A" library (ie, libCSD_TP_Foo_A.so).  This library contains
28     one IDL file which declares the "Foo_A" interface.  All of the other
29     source code in this library is used to support client and/or server
30     applications that will use the Foo_A interface.
33 TP_Foo_B
34 --------
36     This sub-directory contains source code used to build the
37     "CSD_TP_Foo_B" library (ie, libCSD_TP_Foo_B.so).  This library contains
38     one IDL file which declares the "Foo_B" interface.  All of the other
39     source code in this library is used to support client and/or server
40     applications that will use the Foo_B interface.
43 TP_Foo_C
44 --------
46     This sub-directory contains source code used to build the
47     "CSD_TP_Foo_C" library (ie, libCSD_TP_Foo_C.so).  This library contains
48     one IDL file which declares the "Foo_C" interface.  All of the other
49     source code in this library is used to support client and/or server
50     applications that will use the Foo_C interface.
53 TP_Test_1
54 ---------
56     This sub-directory contains source code that is used to build a
57     client application and a server application.  These applications
58     make use of the Foo_A interface (see the TP_Foo_A directory).
59     This particular pair of applications do not use all of the infrastructure
60     types made available to them by the TP_Test_Lib.
62     The TP_Test_1 application code is really more of an example than a test.
63     Other test applications (ie, TP_Test_2) do the same thing as TP_Test_1,
64     except that the other test applications take advantage of the
65     infrastructure types provided by the TP_Test_Lib.  Another big difference
66     is that the TP_Test_1 does not perform any "actual" vs. "expected"
67     results checking - and the other TP tests do perform these checks.
70 TP_Test_2
71 ---------
73     This sub-directory contains source code that is used to build a
74     client application and a server application.  These applications
75     make use of the Foo_A interface (see the TP_Foo_A directory).
77     The Foo_A interface is a simple interface with just a few simple
78     operations (both one-way and two-way).
80     Each launched client application (ie, client process) represents a
81     "remote" client of a Foo_A servant object that lives in a server
82     process.  The server application can be instructed, upon start up,
83     to use any number of "collocated clients".  Each collocated client is
84     essentially a new thread in the server process that will perform the
85     same logic that is performed by the remote client application.
88 TP_Test_3
89 ---------
91     This sub-directory contains source code that is used to build a
92     client application and a server application.  These applications
93     make use of the Foo_B interface (see the TP_Foo_B directory).
95     The Foo_B interface has a rich set of operations, using a wide variety
96     of argument types.
98     The TP_Test_3 applications are nearly identical to their TP_Test_2
99     counterparts, except for the fact that Foo_B is the interface type
100     used in TP_Test_3, and Foo_A is the interface type used in TP_Test_2.
103 TP_Test_4
104 ---------
106     This sub-directory contains source code that is used to build a
107     client application and a server application.  These applications
108     make use of the Foo_C interface (see the TP_Foo_C directory).
110     The Foo_C interface is a simple interface with just a few simple
111     operations (both one-way and two-way).  It is nearly (if not exactly)
112     identical to the Foo_A interface.
114     The TP_Test_4 applications are nearly identical to the TP_Test_2
115     applications with one significant difference: the TP_Test_4 server
116     application makes use of the "custom requests" feature provided by
117     the CSD Thread Pool Strategy.  These custom requests are performed
118     by the collocated client code within the server application.