1 #include "TX_ObjectC.h"
2 #include "ace/OS_NS_stdlib.h"
3 #include "ace/OS_NS_string.h"
4 #include "ace/Get_Opt.h"
5 #include "ace/SString.h"
7 const ACE_TCHAR
*ior
= ACE_TEXT("file://test.ior");
8 const char *cert_file
= "cacert.pem";
9 long number_iterations
= 1;
10 long data_size
= 3461724;
11 bool shutdown_server
= false;
14 parse_args (int argc
, ACE_TCHAR
*argv
[])
16 ACE_Get_Opt
get_opts (argc
, argv
, ACE_TEXT("k:i:d:x"));
19 while ((c
= get_opts ()) != -1)
23 ior
= get_opts
.opt_arg ();
26 number_iterations
= ACE_OS::atoi (get_opts
.opt_arg ());
29 data_size
= ACE_OS::atoi (get_opts
.opt_arg ());
32 shutdown_server
= true;
36 ACE_ERROR_RETURN ((LM_ERROR
,
47 // Indicates successful parsing of the command line
52 ACE_TMAIN(int argc
, ACE_TCHAR
*argv
[])
56 ACE_CString
env ("SSL_CERT_FILE=");
58 ACE_OS::putenv (env
.c_str ());
60 CORBA::ORB_var orb
= CORBA::ORB_init (argc
, argv
);
62 if (::parse_args (argc
, argv
) != 0)
65 CORBA::Object_var obj
=
66 orb
->string_to_object (ior
);
68 if (CORBA::is_nil (obj
.in ()))
69 ACE_ERROR_RETURN ((LM_ERROR
,
70 "ERROR: Nil server object reference\n"),
73 TX_Object_var txObject
=
74 TX_Object::_narrow (obj
.in ());
78 CORBA::ULong
const len
= data_size
;
80 data_input
.length (len
);
82 // Fill in some useless data.
83 for (CORBA::ULong i
= 0; i
< len
; ++i
)
85 data_input
[i
] = i
% 9;
88 for (int iteration
= 0; iteration
< number_iterations
; ++iteration
)
91 "Sending octet sequence of length:\t%u\n",
92 data_input
.length ()));
94 txObject
->send (data_input
);
96 DataSeq_var data_output
;
98 txObject
->recv (data_output
.out ());
100 ACE_DEBUG ((LM_DEBUG
,
101 "Received octet sequence of length:\t%u\n",
102 data_output
->length ()));
105 if (data_output
->length () != len
106 || ACE_OS::memcmp (data_input
.get_buffer (),
107 data_output
->get_buffer (),
110 ACE_ERROR_RETURN ((LM_ERROR
,
111 "ERROR: Received octet sequence does not match "
112 "the one that was sent.\n"),
119 txObject
->shutdown ();
124 catch (const CORBA::Exception
& ex
)
126 ex
._tao_print_exception ("ERROR");
131 ACE_DEBUG ((LM_DEBUG
,
133 "SSLIOP Big_Request test passed.\n"));