summaryrefslogtreecommitdiff
path: root/examples/Connection/blocking/SPIPE-connector.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/Connection/blocking/SPIPE-connector.cpp')
-rw-r--r--examples/Connection/blocking/SPIPE-connector.cpp181
1 files changed, 0 insertions, 181 deletions
diff --git a/examples/Connection/blocking/SPIPE-connector.cpp b/examples/Connection/blocking/SPIPE-connector.cpp
deleted file mode 100644
index 5ec480c72a2..00000000000
--- a/examples/Connection/blocking/SPIPE-connector.cpp
+++ /dev/null
@@ -1,181 +0,0 @@
-#if !defined (SPIPE_CONNECTOR_C)
-// $Id$
-
-#define SPIPE_CONNECTOR_C
-
-
-#include "ace/SPIPE_Addr.h"
-#include "ace/SPIPE_Connector.h"
-#include "ace/Get_Opt.h"
-#include "SPIPE-connector.h"
-
-Peer_Handler::Peer_Handler (int iterations)
- : iterations_ (iterations)
-{
-}
-
-Peer_Handler::~Peer_Handler ()
-{
-}
-
-int
-Peer_Handler::open (void *)
-{
- ACE_DEBUG ((LM_DEBUG, "activating %d\n", this->get_handle ()));
-
- // If iterations_ has not been set, read from stdin.
- if (iterations_ == 0)
- {
- this->display_menu ();
- if (ACE::register_stdin_handler (this,
- ACE_Service_Config::reactor (),
- ACE_Service_Config::thr_mgr ()) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "register_stdin_handler"), -1);
- }
- else // If iterations_ has been set, send iterations_ buffers.
- {
- char *buffer =
- "Oh give me a home\n"
- "Where the buffalo roam,\n"
- "And the deer and the antelope play.\n"
- "Where seldom is heard\n"
- "A discouraging word,\n"
- "And the skies are not cloudy all day.\n";
- int length = ACE_OS::strlen (buffer);
-
- while (iterations_-- > 0
- && this->peer ().send_n (buffer, length) == length)
- continue;
- }
- return this->peer ().close ();
-}
-
-int
-Peer_Handler::handle_input (ACE_HANDLE)
-{
- char buf[BUFSIZ];
-
- ssize_t n = ACE_OS::read (ACE_STDIN, buf, sizeof buf);
-
- if (n > 0)
- if (this->peer ().send (buf, n) != n)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "write failed"), -1);
- else if (n == 0) /* Explicitly close the connection. */
- {
- if (this->peer ().close () == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "close"), 1);
- return -1;
- }
- else
- this->display_menu ();
- return 0;
-}
-
-int
-Peer_Handler::handle_close (ACE_HANDLE,
- ACE_Reactor_Mask)
-{
- ACE_DEBUG ((LM_DEBUG, "Shutting down\n"));
- return 0;
-}
-
-ACE_HANDLE
-Peer_Handler::get_handle (void) const
-{
- return this->peer ().get_handle ();
-}
-
-void
-Peer_Handler::display_menu (void)
-{
- ACE_DEBUG ((LM_DEBUG, "\nplease enter input..: "));
-}
-
-IPC_Client::IPC_Client (void)
- : iterations_ (0),
- rendezvous_ ("acepipe"),
- done_handler_ (ACE_Sig_Handler_Ex (ACE_Service_Config::end_proactor_event_loop))
-{
-}
-
-IPC_Client::~IPC_Client (void)
-{
-}
-
-// Dynamic linking hooks.
-
-int
-IPC_Client::init (int argc, char *argv[])
-{
- if (this->parse_args (argc, argv) == -1)
- return -1;
- // Handle signals through the ACE_Reactor.
- else if (ACE_Service_Config::reactor ()->register_handler
- (SIGINT, &this->done_handler_) == -1)
- return -1;
-
- ACE_DEBUG ((LM_DEBUG, "Opening %s\n", rendezvous_));
-
- // Connect to the peer, reusing the local addr if necessary.
- if (this->connect (new Peer_Handler (iterations_),
- ACE_SPIPE_Addr (rendezvous_),
- ACE_Synch_Options::defaults,
- *((ACE_SPIPE_Addr *) &ACE_Addr::sap_any),
- 0,
- O_RDWR | FILE_FLAG_OVERLAPPED,
- 0) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "connect"), -1);
-
- return 0;
-}
-
-int
-IPC_Client::fini (void)
-{
- return 0;
-}
-
-int
-IPC_Client::svc (void)
-{
- ACE_Service_Config::run_reactor_event_loop ();
- return 0;
-}
-
-int
-IPC_Client::handle_close (ACE_HANDLE, ACE_Reactor_Mask)
-{
- return 0;
-}
-
-int
-IPC_Client::parse_args (int argc, char *argv[])
-{
- ACE_LOG_MSG->open (argv[0]);
-
- ACE_Get_Opt get_opt (argc, argv, "ui:r:");
-
- for (int c; (c = get_opt ()) != -1; )
- {
- switch (c)
- {
- case 'r':
- rendezvous_ = get_opt.optarg;
- break;
- case 'i':
- iterations_ = ACE_OS::atoi (get_opt.optarg);
- break;
- case 'u':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %n -i <iterations>\n"
- "-r <rendezvous>\n"), -1);
- break;
- }
- }
-
- return 0;
-}
-
-
-#endif /* SPIPE_CONNECTOR */