diff options
Diffstat (limited to 'ACE/examples/IOStream/server')
-rw-r--r-- | ACE/examples/IOStream/server/IOStream_Server.mpc | 6 | ||||
-rw-r--r-- | ACE/examples/IOStream/server/Makefile.am | 35 | ||||
-rw-r--r-- | ACE/examples/IOStream/server/iostream_server.cpp | 133 | ||||
-rw-r--r-- | ACE/examples/IOStream/server/iostream_server.h | 53 |
4 files changed, 0 insertions, 227 deletions
diff --git a/ACE/examples/IOStream/server/IOStream_Server.mpc b/ACE/examples/IOStream/server/IOStream_Server.mpc deleted file mode 100644 index 6048265757c..00000000000 --- a/ACE/examples/IOStream/server/IOStream_Server.mpc +++ /dev/null @@ -1,6 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project : aceexe { - exename = iostream_server -} diff --git a/ACE/examples/IOStream/server/Makefile.am b/ACE/examples/IOStream/server/Makefile.am deleted file mode 100644 index f3d195a413b..00000000000 --- a/ACE/examples/IOStream/server/Makefile.am +++ /dev/null @@ -1,35 +0,0 @@ -## Process this file with automake to create Makefile.in -## -## $Id$ -## -## This file was generated by MPC. Any changes made directly to -## this file will be lost the next time it is generated. -## -## MPC Command: -## ./bin/mwc.pl -type automake -noreldefs ACE.mwc - -ACE_BUILDDIR = $(top_builddir) -ACE_ROOT = $(top_srcdir) - -## Makefile.IOStream_Server.am - -noinst_PROGRAMS = iostream_server - -iostream_server_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) - -iostream_server_SOURCES = \ - iostream_server.cpp \ - iostream_server.h - -iostream_server_LDADD = \ - $(ACE_BUILDDIR)/ace/libACE.la - -## Clean up template repositories, etc. -clean-local: - -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.* - -rm -f gcctemp.c gcctemp so_locations *.ics - -rm -rf cxx_repository ptrepository ti_files - -rm -rf templateregistry ir.out - -rm -rf ptrepository SunWS_cache Templates.DB diff --git a/ACE/examples/IOStream/server/iostream_server.cpp b/ACE/examples/IOStream/server/iostream_server.cpp deleted file mode 100644 index 1cd6ca006de..00000000000 --- a/ACE/examples/IOStream/server/iostream_server.cpp +++ /dev/null @@ -1,133 +0,0 @@ -// $Id$ - -// This is a simple example of using the ACE_IOStream and -// ACE_Streambuf_T 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/Signal.h" -#include "ace/Sig_Adapter.h" - -#include "iostream_server.h" -#include "ace/OS_NS_unistd.h" - -ACE_RCSID(server, iostream_server, "$Id$") - -#if !defined (ACE_LACKS_ACE_IOSTREAM) - -int -Handler::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; -} - -Handler::Handler (void) -{ - ACE_DEBUG ((LM_DEBUG, "(%P) starting handler %x\n", this)); -} - -Handler::~Handler (void) -{ - ACE_DEBUG ((LM_DEBUG, "(%P) shutting down handler %x\n", this)); - ACE_Reactor::end_event_loop (); -} - -int -Handler::handle_input (ACE_HANDLE) -{ - int i; - float f; - - // Check to see if the socket is closed down. - if (this->peer ().eof ()) - ACE_ERROR_RETURN ((LM_ERROR, "(%P) connection closed\n"), -1); - -#if defined (ACE_HAS_STRING_CLASS) - ACE_IOStream_String s; - - if (!(this->peer () >> i >> f >> s)) - ACE_ERROR_RETURN ((LM_ERROR, "(%P) %p\n", "error getting data"), -1); - - cerr << "(" << ACE_OS::getpid () << ") Client sent:\n\t"; - cerr << "(" << i << ") (" << f << ") (" << s << ")" << endl ; - - if (!(this->peer () << "Received: " << i << " " << f << " " << s << endl)) - ACE_ERROR_RETURN ((LM_ERROR, "(%P) %p\n", "error sending data"), -1); - -#else - if (!(this->peer () >> i >> f)) - ACE_ERROR_RETURN ((LM_ERROR, "(%P) %p\n", "error getting data"), -1); - - cerr << "(" << ACE_OS::getpid () << ") Client sent:\n\t"; - cerr << "(" << i << ") (" << f << ")" << endl; - - if (!(this->peer () << i << " " << f << endl)) - ACE_ERROR_RETURN ((LM_ERROR, "(%P) %p\n", "error sending data"), -1); -#endif /* ACE_HAS_STRING_CLASS */ - - // 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 a factory object that will accept new connection requests -// and create handler objects for us. - -typedef ACE_Acceptor<Handler, ACE_SOCK_ACCEPTOR> IOStream_Acceptor; -#endif /* !ACE_LACKS_ACE_IOSTREAM */ - -int -ACE_TMAIN (int argc, ACE_TCHAR *argv []) -{ -#if !defined (ACE_LACKS_ACE_IOSTREAM) - ACE_Service_Config daemon; - - // Create an adapter to end the event loop. - ACE_Sig_Adapter sa ((ACE_Sig_Handler_Ex) ACE_Reactor::end_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_Reactor::instance ()->register_handler (sig_set, - &sa) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n"), -1); - - IOStream_Acceptor peer_acceptor; - - ACE_INET_Addr addr (argc > 1 ? ACE_OS::atoi (argv[1]) : ACE_DEFAULT_SERVER_PORT); - - if (peer_acceptor.open (addr) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "%p\n", - "open"), - -1); - - ACE_DEBUG ((LM_DEBUG, - "(%P) starting up daemon\n")); - - ACE_Reactor::run_event_loop (); - - ACE_DEBUG ((LM_DEBUG, - "(%P) shutting down server daemon\n")); - -#else - ACE_UNUSED_ARG (argc); - ACE_UNUSED_ARG (argv); - ACE_ERROR ((LM_ERROR, "ACE_IOSTREAM not supported on this platform\n")); -#endif /* !ACE_LACKS_ACE_IOSTREAM */ - return 0; -} - diff --git a/ACE/examples/IOStream/server/iostream_server.h b/ACE/examples/IOStream/server/iostream_server.h deleted file mode 100644 index e5f4cbd63b9..00000000000 --- a/ACE/examples/IOStream/server/iostream_server.h +++ /dev/null @@ -1,53 +0,0 @@ -// $Id$ - -// This file defines the class needed for iostream_server.cpp - it's a separate -// file to satisfy IBM's xlC template instantiation. - -#ifndef __IOSTREAM_SERVER_H -#define __IOSTREAM_SERVER_H - -#include "ace/INET_Addr.h" -#include "ace/IOStream.h" -#include "ace/SOCK_Stream.h" -#include "ace/Svc_Handler.h" - -#if !defined (ACE_LACKS_ACE_IOSTREAM) - -// Declare a new type which will case an ACE_SOCK_Stream to behave -// like an iostream. The new ACE_SOCK_IOStream type can be used -// anywhere an ACE_SOCK_Stream is used. - -typedef ACE_IOStream<ACE_SOCK_Stream> ACE_SOCK_IOStream; - -// Need to handle brain-dead C++ compilers. -#if defined (ACE_HAS_TEMPLATE_TYPEDEFS) -#define ACE_SOCK_IOSTREAM ACE_SOCK_IOStream -#else -#define ACE_SOCK_IOSTREAM ACE_SOCK_IOStream, ACE_INET_Addr -#endif /* ACE_HAS_TYPENAME_KEYWORD */ - -class Handler : public ACE_Svc_Handler<ACE_SOCK_IOSTREAM, ACE_NULL_SYNCH> - // = TITLE - // Extend the <ACE_Svc_Handler> template to do our bidding. - // - // = DESCRIPTION - // Create an <ACE_Svc_Handler> object based on our - // iostream/SOCK_Stream hybrid. All of this is fairly standard - // until we get to the <handle_input> where we begin using the - // iostream characteristics of the peer. -{ -public: - // = Initialization and termination methods. - Handler (void); - ~Handler (void); - - // = <Svc_Handler> hooks. - virtual int open (void *); - - // = <Event_Handler> hooks. - virtual int handle_input (ACE_HANDLE); -}; - -#endif /* ACE_LACKS_ACE_IOSTREAM */ - -#endif /* __IOSTREAM_SERVER_H */ |