Merge pull request #2218 from jwillemsen/jwi-pthreadsigmask
[ACE_TAO.git] / TAO / tests / TransportCurrent / Framework / Current_Test_Impl.cpp
blob191b2ac6a640ffa8478cc1a400c6cab384bda710
1 // -*- C++ -*-
2 #include "tao/TransportCurrent/TCC.h"
4 #include "Current_Test_Impl.h"
6 Current_Test_Impl::Current_Test_Impl (CORBA::ORB_ptr orb,
7 PortableServer::POA_ptr poa,
8 int do_collocated_calls)
9 : orb_ (CORBA::ORB::_duplicate (orb))
10 , poa_ (PortableServer::POA::_duplicate (poa))
11 , do_collocated_calls_ (do_collocated_calls)
15 Current_Test_Impl::~Current_Test_Impl ()
19 ::CORBA::Long
20 Current_Test_Impl::self_test ()
22 return 0;
25 void
26 Current_Test_Impl::test_transport_current ()
28 if (TAO_debug_level > 2)
30 ACE_DEBUG ((LM_DEBUG,
31 ACE_TEXT ("(%P|%t) server - Testing access to Transport Current ...\n")));
34 CORBA::Object_var tcobject =
35 orb_->resolve_initial_references ("TAO::Transport::Current");
37 TAO::Transport::Current_var tc =
38 TAO::Transport::Current::_narrow (tcobject.in ());
40 if (TAO_debug_level >= 1)
42 ::CORBA::Long id = tc->id ();
44 ::TAO::CounterT bs = tc->bytes_sent ();
46 ::TAO::CounterT br = tc->bytes_received ();
48 ::TAO::CounterT rs = tc->messages_sent ();
50 ::TAO::CounterT rr = tc->messages_received ();
52 ACE_DEBUG ((LM_DEBUG,
53 ACE_TEXT ("Current_Test_Impl (%P|%t) Transport [%q] - Sent/Received [bytes=%q/%q, messages=%q/%q]\n"),
54 (ACE_UINT64)id,
55 (ACE_UINT64)bs,
56 (ACE_UINT64)br,
57 (ACE_UINT64)rs,
58 (ACE_UINT64)rr));
61 if (TAO_debug_level > 2)
63 ACE_DEBUG ((LM_DEBUG,
64 ACE_TEXT ("(%P|%t) server - Successfully accessed Transport Current\n")));
68 void
69 Current_Test_Impl::invoked_by_client ()
71 try
73 this->invoked_by_client_i ();
75 catch (const TAO::Transport::NoContext&)
77 ACE_ERROR ((LM_ERROR,
78 ACE_TEXT ("(%P|%t) server - Caught a Transport::NoContext exception\n")));
80 catch (const CORBA::SystemException&)
82 ACE_ERROR ((LM_ERROR,
83 ACE_TEXT ("(%P|%t) server - Caught a CORBA::SystemException exception\n")));
87 void
88 Current_Test_Impl::invoked_by_client_i ()
90 if (TAO_debug_level > 2) {
91 ACE_DEBUG ((LM_DEBUG,
92 ACE_TEXT ("(%P|%t) server - Testing inside an upcall\n")));
95 this->test_transport_current ();
97 if (this->do_collocated_calls_)
99 CORBA::Object_var selfobject =
100 poa_->servant_to_reference (this);
102 Test::Transport::CurrentTest_var self =
103 Test::Transport::CurrentTest::_narrow (selfobject.in ());
105 if (TAO_debug_level >= 1)
107 ACE_DEBUG ((LM_DEBUG,
108 ACE_TEXT ("(%P|%t) server - Testing a collocated call\n")));
110 self->invoked_during_upcall ();
112 else
114 if (TAO_debug_level >= 1)
116 ACE_DEBUG ((LM_DEBUG,
117 ACE_TEXT ("(%P|%t) server - Skipping the collocated call test\n")));
122 void
123 Current_Test_Impl::invoked_during_upcall ()
125 if (TAO_debug_level > 2) {
126 ACE_DEBUG ((LM_DEBUG,
127 ACE_TEXT ("(%P|%t) server - Test method invoked ")
128 ACE_TEXT ("by the server during upcall.\n")));
133 void
134 Current_Test_Impl::shutdown ()
136 if (TAO_debug_level > 2) {
137 ACE_DEBUG ((LM_DEBUG,
138 ACE_TEXT ("(%P|%t) server - shutting down.\n")));
141 this->orb_->shutdown (false);