summaryrefslogtreecommitdiff
path: root/examples/IOStream/server/iostream_server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/IOStream/server/iostream_server.cpp')
-rw-r--r--examples/IOStream/server/iostream_server.cpp139
1 files changed, 0 insertions, 139 deletions
diff --git a/examples/IOStream/server/iostream_server.cpp b/examples/IOStream/server/iostream_server.cpp
deleted file mode 100644
index 82b46cd0928..00000000000
--- a/examples/IOStream/server/iostream_server.cpp
+++ /dev/null
@@ -1,139 +0,0 @@
-// This is a simple example of using the ACE_IOStream and
-// ACE_streambuf templates to create an object based on ACE_*_Stream
-// classes which mimic a C++ iostream.
-
-#include "ace/Acceptor.h"
-#include "ace/SOCK_Acceptor.h"
-#include "ace/Service_Config.h"
-#include "ace/IOStream.h"
-
-// Declare a new type which will case an ACE_SOCK_Stream to behave
-// like an iostream. The new type (ACE_SOCK_IOStream) can be used
-// anywhere an ACE_SOCK_Stream is used.
-
-typedef ACE_IOStream<ACE_SOCK_Stream> ACE_SOCK_IOStream ;
-
-// Create a service handler object based on our new
-// iostream/SOCK_Stream hybrid.
-
-typedef ACE_Svc_Handler<ACE_SOCK_IOStream, ACE_INET_Addr, ACE_NULL_SYNCH>
- Service_Handler;
-
-class Handler : public Service_Handler
- // = TITLE
- // Extend the <Service_Handler> object to do our bidding. All of
- // this is fairly standard until we get to the <handle_input>
- // where we begin using the iostream characteristics of the
- // peer.
-{
-public:
- Handler (void) {}
-
- virtual int open (void *)
- {
- if (this->reactor () ->register_handler
- (this, ACE_Event_Handler::READ_MASK) == - 1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "registering connection handler with ACE_Reactor\n"),
- - 1);
-
- return 0;
- }
-
- virtual void destroy (void)
- {
- this->peer ().close ();
- delete this ;
- }
-
- virtual int close (u_long)
- {
- this->destroy ();
- return 0 ;
- }
-
- virtual int handle_input (ACE_HANDLE)
- {
- int i;
- float f;
-
-#if defined (__GNUC__)
- String s;
-
- if (!(this -> peer () >> i >> f >> s))
- {
- cerr << "Error getting data" << endl ;
- return - 1 ;
- }
-
- cerr << "Received (" << i << ") (" << f << ") (" << s << ")" << endl ;
-
- if (!(this -> peer () << "Received: " << i << " " << f << " " << s << endl))
- {
- cerr << __LINE__ << "Error sending data" << endl ;
- return - 1 ;
- }
-#else
- if (!(this -> peer () >> i >> f))
- {
- cerr << "Error getting data" << endl ;
- return - 1 ;
- }
-
- cerr << "Received (" << i << ") (" << f << ")" << endl;
-
- if (!(this -> peer () << i << " " << f << endl))
- {
- cerr << __LINE__ << "Error sending data" << endl ;
- return - 1 ;
- }
-#endif /* __GNUC__ */
- // In order to flush the output to the peer, we have to use the
- // sync () function. Some iostreams implementations let us use a
- // 'flush' function much like the 'endl' function.
-
- // this->peer ().sync ();
- return 0;
- }
-};
-
-// Create an object which will accept new connection requests and
-// create handler objects for us.
-
-typedef ACE_Acceptor<Handler, ACE_SOCK_ACCEPTOR> Logging_Acceptor;
-
-int
-main (int argc, char *argv [])
-{
- ACE_Service_Config daemon;
-
- // Create an adapter to end the event loop.
- ACE_Sig_Adapter sa ((ACE_Sig_Handler_Ex) ACE_Service_Config::end_reactor_event_loop);
-
- ACE_Sig_Set sig_set;
- sig_set.sig_add (SIGINT);
- sig_set.sig_add (SIGQUIT);
-
- // Register ourselves to receive SIGINT and SIGQUIT so we can shut
- // down gracefully via signals.
- if (ACE_Service_Config::reactor ()->register_handler (sig_set, &sa) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n"), -1);
-
- Logging_Acceptor peer_acceptor ;
-
- if (peer_acceptor.open (ACE_INET_Addr (argc > 1 ? atoi (argv[1]) : ACE_DEFAULT_SERVER_PORT)) == - 1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "open"), - 1);
-
- else if (ACE_Service_Config::reactor ()->register_handler
- (&peer_acceptor, ACE_Event_Handler::READ_MASK) == - 1)
- ACE_ERROR_RETURN ((LM_ERROR, "registering service with ACE_Reactor\n"), - 1);
-
- ACE_DEBUG ((LM_DEBUG, " (%P|%t) starting up daemon\n"));
-
- daemon.run_reactor_event_loop ();
-
- ACE_DEBUG ((LM_DEBUG, " (%P|%t) shutting down server daemon\n"));
-
- return 0;
-}
-