diff options
Diffstat (limited to 'ACE/protocols/tests/HTBP/Send_Large_Msg/client.cpp')
-rw-r--r-- | ACE/protocols/tests/HTBP/Send_Large_Msg/client.cpp | 92 |
1 files changed, 68 insertions, 24 deletions
diff --git a/ACE/protocols/tests/HTBP/Send_Large_Msg/client.cpp b/ACE/protocols/tests/HTBP/Send_Large_Msg/client.cpp index 62cd9140da8..cf97a18eb78 100644 --- a/ACE/protocols/tests/HTBP/Send_Large_Msg/client.cpp +++ b/ACE/protocols/tests/HTBP/Send_Large_Msg/client.cpp @@ -1,7 +1,5 @@ // $Id$ -#include "tests/test_config.h" - #include "ace/HTBP/HTBP_Session.h" #include "ace/HTBP/HTBP_Stream.h" #include "ace/HTBP/HTBP_Addr.h" @@ -9,34 +7,65 @@ #include "ace/HTBP/HTBP_Environment.h" #include "ace/Log_Msg.h" +#include "ace/Get_Opt.h" const ssize_t Send_Size = 4*1024; const size_t Loops = 10; const size_t Total_Size = Send_Size * Loops; +const ACE_TCHAR * remote_host = 0; +const ACE_TCHAR * config_file = 0; +unsigned remote_port = 8088; int -ACE_TMAIN (int argc, ACE_TCHAR *argv[]) +parse_args (int argc, char *argv[]) { - ACE_START_TEST (ACE_TEXT ("HTBP_Send_Large_Msg_client")); + ACE_Get_Opt get_opts (argc, argv, "p:h:c:"); + int c; + + while ((c = get_opts ()) != -1) + switch (c) + { + case 'p': + remote_port = static_cast<unsigned>(ACE_OS::atoi (get_opts.opt_arg())); + case 'h': + remote_host = get_opts.opt_arg (); + break; + case 'c': + config_file = get_opts.opt_arg (); + break; + case '?': + default: + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("usage: %s ") + ACE_TEXT ("-h remote_host ") + ACE_TEXT ("-p remote_port ") + ACE_TEXT ("-c config_file ") + ACE_TEXT ("\n"), + argv [0]), + -1); + } + // Indicates sucessful parsing of the command line + return 0; +} +int +ACE_TMAIN (int argc, ACE_TCHAR *argv[]) +{ ACE_OS::socket_init (ACE_WSOCK_VERSION); - if (argc < 2) + if (parse_args(argc, argv) != 0) + return 1; + if (remote_host == 0) ACE_ERROR_RETURN ((LM_ERROR, - "Usage: client <remote host>\n"), - 0); - ACE::HTBP::Environment env; -#if 0 // this should be a taken from a command line argument - env.import_config (ACE_TEXT("../HTBP_Config.conf")); -#endif /* 0 */ + ACE_TEXT ("Client: No remote host specified\n")),1); + ACE::HTBP::Environment env; + if (config_file != 0) + env.import_config (config_file); ACE::HTBP::ID_Requestor req (&env); ACE::HTBP::Addr local(ACE_TEXT_ALWAYS_CHAR(req.get_HTID())); - unsigned remote_port = 8088; - const ACE_TCHAR * remote_host = argv[1]; - unsigned proxy_port = 0; ACE_TString proxy_host; @@ -44,6 +73,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[]) env.get_proxy_host(proxy_host) != 0) { ACE_DEBUG ((LM_DEBUG, + ACE_TEXT("(%P|%t) Client: ") ACE_TEXT("no proxy address in ") ACE_TEXT("config, using direct connect\n"))); proxy_port = remote_port; @@ -59,7 +89,9 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[]) &proxy); ACE::HTBP::Stream *stream = new ACE::HTBP::Stream(&session); - ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Sending message\n"))); + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT("(%P|%t) Client: ") + ACE_TEXT("Sending message\n"))); char buffer[Send_Size]; ACE_OS::memset (buffer,'a',Send_Size); ssize_t n = 0; @@ -70,14 +102,22 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[]) { n += stream->send (buffer+n,Send_Size); ACE_DEBUG ((LM_DEBUG, - ACE_TEXT("Sending %d of %d\n"), n, Send_Size)); + ACE_TEXT("(%P|%t) Client: ") + ACE_TEXT("Sending %d of %d\n"), + n, Send_Size)); } if (n == -1 && errno != 0) { - ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT("%p\n %d"), - ACE_TEXT("stream send"), errno), -1); + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT("(%P|%t) Client: ") + ACE_TEXT("%p\n %d"), + ACE_TEXT("stream send"), errno), + -1); } - ACE_DEBUG ((LM_DEBUG, ACE_TEXT("In round %d, send returned %d\n"), i, n)); + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT("(%P|%t) Client: ") + ACE_TEXT("In round %d, send returned %d\n"), + i, n)); } buffer[0] = 0; @@ -87,12 +127,16 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[]) if (errno == EWOULDBLOCK) n = stream->recv (buffer,1000); else - ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT("%p\n"), - ACE_TEXT("stream.recv")),-1); + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT("(%P|%t) Client: ") + ACE_TEXT("%p\n"), + ACE_TEXT("stream.recv")), + -1); } - ACE_DEBUG ((LM_DEBUG, ACE_TEXT("received %d, %s\n"),n,buffer)); - - ACE_END_TEST; + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT("(%P|%t) Client: ") + ACE_TEXT("received %d, %s\n"), + n,buffer)); return 0; } |