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:
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.)
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.
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.
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.
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.
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.
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
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.
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.