5 This is a test for collocation when using thread pools and lanes.
6 There are multiple servants in this test:
8 - One servant is in the Root POA which is service by the default
11 - One servant is in a POA with the CLIENT_PROPAGATED policy and is
12 serviced by a thread pool without lanes.
14 - Two servants are in a POA with the SERVER_DECLARED policy and is
15 serviced by a thread pool without lanes. One of the servant is at
16 default priority and the other is at default + 1 priority.
18 - One servant is in a POA without a priority model policy and is
19 serviced by a thread pool without lanes.
21 - One servants is in a POA with the CLIENT_PROPAGATED policy and is
22 serviced by a thread pool with lanes. Depending on the priority of
23 the caller, either one of the lanes processes the request.
25 - Two servants are in a POA with the SERVER_DECLARED policy and is
26 serviced by a thread pool with lanes. One of the servant is at
27 default priority and the other is at default + 1 priority.
29 All servants are put into a global array. The main thread starts off
30 the testing at default priority by calling start() on each servant in
31 the array. The implementation of start() calls method() on each
32 servant in the array. Since the upcalls will be handled by a thread
33 pool corresponding to each servant, all pools and lanes ends up
34 calling into one another.
36 The main thread then changes its priority to default + 1 and calls
37 start() on each servant in the array. This makes sure to exercise the
38 second lane in the thread pool with lanes and the CLIENT_PROPAGATED
41 The test checks that the correct pool, lane, and priority is being
42 used to run the upcall.
44 The test also converts the objects into strings and back to make sure
45 that collocation works as expected for imported objects.
47 This test has enough asserts to make sure that the correct thread is