diff options
Diffstat (limited to 'examples/Reactor/Dgram/CODgram.cpp')
-rw-r--r-- | examples/Reactor/Dgram/CODgram.cpp | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/examples/Reactor/Dgram/CODgram.cpp b/examples/Reactor/Dgram/CODgram.cpp deleted file mode 100644 index 6c4bc0f8052..00000000000 --- a/examples/Reactor/Dgram/CODgram.cpp +++ /dev/null @@ -1,121 +0,0 @@ -/* Exercise the ACE_SOCK_CODgram wrapper along with the ACE_Reactor. -// $Id$ - - - Typical invocation sequence is: - - % CODgram 10000 localhost 10001 & - % CODgram 10001 localhost 10000 - - This will start two interacting copies of the CODgram - application. */ - -#include "ace/Reactor.h" -#include "ace/SOCK_CODgram.h" -#include "ace/INET_Addr.h" - -class AAL_CP : public ACE_Event_Handler, public ACE_SOCK_CODgram -{ -public: - AAL_CP (const ACE_INET_Addr &remote_addr, - const ACE_INET_Addr &local_addr); - - virtual int get_handle () const; - - virtual int handle_input (int fd); - - virtual int handle_timeout (const ACE_Time_Value & tv, - const void *arg = 0); -}; - -AAL_CP::AAL_CP (const ACE_INET_Addr &remote_addr, - const ACE_INET_Addr &local_addr) - : ACE_SOCK_CODgram (remote_addr, local_addr) -{ -} - -int -AAL_CP::get_handle () const -{ - return ACE_SOCK_CODgram::get_handle (); -} - -int -AAL_CP::handle_input (int) -{ - char buf[128]; - int n; - ACE_DEBUG ((LM_DEBUG, "Activity occurred on handle %d!\n", - ACE_SOCK_CODgram::get_handle ())); - if ((n = ACE_SOCK_CODgram::recv (buf, sizeof buf)) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "handle_input")); - else - ACE_DEBUG ((LM_DEBUG, "got buf = %s\n", buf)); - - return 0; -} - -int -AAL_CP::handle_timeout (const ACE_Time_Value &, const void *) -{ - ACE_DEBUG ((LM_DEBUG, "timed out for aa1\n")); - return 0; -} - -main(int argc, char *argv[]) -{ - /* Estabish call backs, and socket names */ - if (argc != 4) - ACE_ERROR_RETURN ((LM_ERROR, - "usage: %s localport remotehost remoteport\n", - argv[0]), -1); - - ACE_Reactor reactor; - char buf[128]; - u_short localport = ACE_OS::atoi (argv[1]); - u_short remoteport = ACE_OS::atoi (argv[3]); - char *remotehost = argv[2]; - - ACE_INET_Addr remote_addr (remoteport, remotehost); - ACE_INET_Addr local_addr (localport); - - AAL_CP aal (remote_addr, local_addr); - - if (localport == 10000) // HACK - { - ACE_OS::memcpy (buf, "Data to transmit", sizeof buf); - ACE_DEBUG ((LM_DEBUG, "sending data\n")); - - for (int i = 0; i < 20; i++) - { - aal.send (buf, sizeof buf); - ACE_DEBUG ((LM_DEBUG, ".\n")); - ACE_OS::sleep (1); - } - } - - /* read data from other side */ - if (reactor.register_handler (&aal, ACE_Event_Handler::READ_MASK) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "ACE_Reactor::register_handler"), -1); - - if (reactor.schedule_timer (&aal, 0, - ACE_Time_Value (1, 0), - ACE_Time_Value (0, 3500000)) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "ACE_Reactor::schedule_timer"), -1); - - ACE_OS::memcpy (buf, "Data to transmit", sizeof buf); - - for (;;) - { - /* Wait at most two seconds */ - ACE_Time_Value tv (2, 0); - - reactor.handle_events (tv); - - ACE_DEBUG ((LM_DEBUG, "return from handle events\n")); - aal.send (buf, sizeof buf); - ACE_DEBUG ((LM_DEBUG, ".\n")); - } - - return 0; -} |