diff options
author | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-09-13 00:26:05 +0000 |
---|---|---|
committer | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-09-13 00:26:05 +0000 |
commit | 7a042e4f8a987a50143415af690a878881d4b48f (patch) | |
tree | 338a92488326f0585d65743bd3d6ec0650fd6db1 /examples/Service_Configurator/IPC-tests/client/local_pipe_client_test.cpp | |
parent | 9b50028195a935518c2716dcdb94d5bb167a0af2 (diff) | |
download | ATCD-TAO-1_0_4.tar.gz |
This commit was manufactured by cvs2svn to create tag 'TAO-1_0_4'.TAO-1_0_4
Diffstat (limited to 'examples/Service_Configurator/IPC-tests/client/local_pipe_client_test.cpp')
-rw-r--r-- | examples/Service_Configurator/IPC-tests/client/local_pipe_client_test.cpp | 145 |
1 files changed, 0 insertions, 145 deletions
diff --git a/examples/Service_Configurator/IPC-tests/client/local_pipe_client_test.cpp b/examples/Service_Configurator/IPC-tests/client/local_pipe_client_test.cpp deleted file mode 100644 index 92820417a4c..00000000000 --- a/examples/Service_Configurator/IPC-tests/client/local_pipe_client_test.cpp +++ /dev/null @@ -1,145 +0,0 @@ -// $Id$ - -// Another test of UNIX domain IPC-SAP abstraction. This one opens 2 -// pipes and then ships certain ends over to the server to act as a -// filter! - -#include "ace/LSOCK_Connector.h" -#include "ace/UNIX_Addr.h" -#include "ace/Get_Opt.h" - -ACE_RCSID(client, local_pipe_client_test, "$Id$") - -#if defined (ACE_HAS_MSG) && !defined (ACE_LACKS_UNIX_DOMAIN_SOCKETS) -// Name of the program. -static char *program_name; - -// Name of rendezvous point. -static const char *rendezvous = "/tmp/foo_pipe"; - -// Name of file to send. -static const char *file_name = "local_data"; - -static void -print_usage_and_die (void) -{ - ACE_ERROR ((LM_ERROR, - "usage: %s [-r rendezvous] [-f file]\n%a", - program_name, -1)); -} - -void -parse_args (int argc, char *argv[]) -{ - program_name = argv[0]; - - ACE_Get_Opt get_opt (argc, argv, "f:r:"); - - for (int c; (c = get_opt ()) != -1; ) - switch (c) - { - case 'f': - file_name = get_opt.optarg; - break; - case 'r': - rendezvous = get_opt.optarg; - break; - default: - print_usage_and_die (); - break; - } -} - -static int -do_client_processing (ACE_LSOCK_Stream &sc) -{ - ACE_HANDLE fd_read[2]; - ACE_HANDLE fd_write[2]; - char buf[BUFSIZ]; - int n; - - if (ACE_OS::pipe (fd_read) == -1 || ACE_OS::pipe (fd_write) == -1) - return -1; - - if (sc.send_handle (fd_write[0]) == -1 || sc.send_handle (fd_read[1]) == -1) - return -1; - - // Close off the ends we aren't interested in. - - if (ACE_OS::close (fd_read[1]) || ACE_OS::close (fd_write[0]) == -1) - return -1; - - // Do a silly dup just for fun... - - ACE_HANDLE fd1 = ACE_OS::open (file_name, O_RDONLY); - - if (fd1 == ACE_INVALID_HANDLE) - return -1; - - while ((n = ACE_OS::read (fd1, buf, sizeof buf)) > 0) - { - if (ACE_OS::write (fd_write[1], - buf, - n) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "%p\n", - "write"), - -1); - if ((n = ACE_OS::read (fd_read[0], - buf, - sizeof buf)) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "%p\n", - "read"), - -1); - if (ACE_OS::write (ACE_STDOUT, - buf, - n) == -1) - return -1; - } - - if (ACE_OS::close (fd_read[0]) == -1 - || ACE_OS::close (fd_write[1]) == -1 - || ACE_OS::close (fd1) == -1) - ACE_OS::exit (1); - - return 0; -} - -int -main (int argc, char *argv[]) -{ - parse_args (argc, argv); - - ACE_LSOCK_Stream sc; - ACE_LSOCK_Connector con; - - if (con.connect (sc, - ACE_UNIX_Addr (rendezvous)) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "%p\n", - "connect"), - -1); - - if (do_client_processing (sc) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "%p\n", - "do_client_processing"), - -1); - - if (sc.close () == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "%p\n", - "close"), - -1); - - return 0; -} -#else -int main (int, char *[]) -{ - ACE_ERROR_RETURN ((LM_ERROR, - "your platform must support sendmsg/recvmsg to run this test\n"), - -1); -} -#endif /* ACE_HAS_MSG */ |