diff options
Diffstat (limited to 'examples/IOStream')
-rw-r--r-- | examples/IOStream/Makefile | 25 | ||||
-rw-r--r-- | examples/IOStream/README | 22 | ||||
-rw-r--r-- | examples/IOStream/client/Makefile | 76 | ||||
-rw-r--r-- | examples/IOStream/client/iostream_client.cpp | 73 | ||||
-rw-r--r-- | examples/IOStream/server/Makefile | 143 | ||||
-rw-r--r-- | examples/IOStream/server/iostream_server.cpp | 182 |
6 files changed, 0 insertions, 521 deletions
diff --git a/examples/IOStream/Makefile b/examples/IOStream/Makefile deleted file mode 100644 index f41025d77e9..00000000000 --- a/examples/IOStream/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -#---------------------------------------------------------------------------- -# @(#)Makefile 1.1 10/18/96 -# -# Makefile for the ACE IOStream examples -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -INFO = README - -DIRS = client \ - server - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nolocal.GNU - diff --git a/examples/IOStream/README b/examples/IOStream/README deleted file mode 100644 index ab215fc779d..00000000000 --- a/examples/IOStream/README +++ /dev/null @@ -1,22 +0,0 @@ -This example illustrates the use of the ACE_IOStream and -ACE_Streambuf_T templates to create an object based on ACE_*_Stream -classes. These classes provide C++ iostream functionality across a -socket. - -To run the tests simply build the executables in the client and server -directories and then do the following in separate windows: - -# Window 1 -% server/iostream_server -(10049) starting up daemon - -# Window 2 -% client/iostream_client -(10049) starting handler 456d0 -(10049) Client sent: - (1) (2.3) -(10051) Server sent: - (1) (2.3) -(10049) connection closed -(10049) shutting down handler 456d0 -(10049) shutting down server daemon diff --git a/examples/IOStream/client/Makefile b/examples/IOStream/client/Makefile deleted file mode 100644 index 6efa98fd4c3..00000000000 --- a/examples/IOStream/client/Makefile +++ /dev/null @@ -1,76 +0,0 @@ -#---------------------------------------------------------------------------- -# @(#)Makefile 1.1 10/18/96 -# -# Makefile for IOStream test client -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -BIN = iostream_client - -LSRC = $(addsuffix .cpp,$(BIN)) - -VLDLIBS = $(LDLIBS:%=%$(VAR)) - -BUILD = $(VBIN) - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU -include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU -include $(ACE_ROOT)/include/makeinclude/rules.local.GNU - -#---------------------------------------------------------------------------- -# Local targets -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Dependencies -#---------------------------------------------------------------------------- - -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. - -.obj/iostream_client.o .shobj/iostream_client.: iostream_client.cpp \ - $(ACE_ROOT)/ace/SOCK_Connector.h \ - $(ACE_ROOT)/ace/SOCK_Stream.h \ - $(ACE_ROOT)/ace/SOCK_IO.h \ - $(ACE_ROOT)/ace/SOCK.h \ - $(ACE_ROOT)/ace/ACE.h \ - $(ACE_ROOT)/ace/OS.h \ - $(ACE_ROOT)/ace/config.h \ - $(ACE_ROOT)/ace/iosfwd.h \ - $(ACE_ROOT)/ace/OS.i \ - $(ACE_ROOT)/ace/Trace.h \ - $(ACE_ROOT)/ace/Log_Msg.h \ - $(ACE_ROOT)/ace/Log_Record.h \ - $(ACE_ROOT)/ace/Log_Priority.h \ - $(ACE_ROOT)/ace/Log_Record.i \ - $(ACE_ROOT)/ace/Version.h \ - $(ACE_ROOT)/ace/ACE.i \ - $(ACE_ROOT)/ace/Addr.h \ - $(ACE_ROOT)/ace/Addr.i \ - $(ACE_ROOT)/ace/IPC_SAP.h \ - $(ACE_ROOT)/ace/IPC_SAP.i \ - $(ACE_ROOT)/ace/SOCK.i \ - $(ACE_ROOT)/ace/SOCK_IO.i \ - $(ACE_ROOT)/ace/INET_Addr.h \ - $(ACE_ROOT)/ace/INET_Addr.i \ - $(ACE_ROOT)/ace/SOCK_Stream.i \ - $(ACE_ROOT)/ace/Time_Value.h \ - $(ACE_ROOT)/ace/SOCK_Connector.i \ - $(ACE_ROOT)/ace/IOStream.h \ - $(ACE_ROOT)/ace/Handle_Set.h \ - $(ACE_ROOT)/ace/Handle_Set.i \ - $(ACE_ROOT)/ace/streams.h \ - $(ACE_ROOT)/ace/IOStream_T.h \ - $(ACE_ROOT)/ace/IOStream_T.i - -# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/examples/IOStream/client/iostream_client.cpp b/examples/IOStream/client/iostream_client.cpp deleted file mode 100644 index 9e7004397b6..00000000000 --- a/examples/IOStream/client/iostream_client.cpp +++ /dev/null @@ -1,73 +0,0 @@ -// $Id$ - -#include "ace/SOCK_Connector.h" -#include "ace/IOStream.h" - -// This client 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. - -int -main (int argc, char *argv[]) -{ -#if !defined (ACE_LACKS_ACE_IOSTREAM) - const char *server_host = argc > 1 ? argv[1] : ACE_DEFAULT_SERVER_HOST; - u_short server_port = argc > 2 ? ACE_OS::atoi (argv[2]) : ACE_DEFAULT_SERVER_PORT; - - ACE_IOStream<ACE_SOCK_Stream> server; - ACE_SOCK_Connector connector; - ACE_INET_Addr addr (server_port, - server_host); - - if (connector.connect (server, addr) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "%p\n", - "open"), - -1); - - // Buffer up some things to send to the server. - server << "1 2.3 testing" << endl; - - int i; - float f; - -#if defined (ACE_HAS_STRING_CLASS) - ACE_IOStream_String s1; - ACE_IOStream_String s2; - server >> s1 >> i >> f >> s2; - - cerr << "Server said:\n\t"; - cerr << s1 << " "; - cerr << i << " "; - cerr << f << " "; - cerr << s2 << endl; -#else - server >> i >> f; - - cerr << "(" << ACE_OS::getpid () << ") Server sent:\n\t"; - cerr << "(" << i << ") "; - cerr << "(" << f << ")" << endl; -#endif /* ACE_HAS_STRING_CLASS */ - - if (server.close () == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "%p\n", - "close"), - -1); -#else - ACE_ERROR ((LM_ERROR, "ACE_IOSTREAM not supported on this platform\n")); -#endif /* !ACE_LACKS_ACE_IOSTREAM */ - return 0; -} - - -#if !defined (ACE_LACKS_ACE_IOSTREAM) -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_IOStream <ACE_SOCK_Stream>; -template class ACE_Streambuf_T <ACE_SOCK_Stream>; -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#pragma instantiate ACE_IOStream <ACE_SOCK_Stream> -#pragma instantiate ACE_Streambuf_T <ACE_SOCK_Stream> -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ - -#endif /* !ACE_LACKS_ACE_IOSTREAM */ diff --git a/examples/IOStream/server/Makefile b/examples/IOStream/server/Makefile deleted file mode 100644 index 83bb5ed33c9..00000000000 --- a/examples/IOStream/server/Makefile +++ /dev/null @@ -1,143 +0,0 @@ -#---------------------------------------------------------------------------- -# @(#)Makefile 1.1 10/18/96 -# -# Makefile for IOStream test server -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -BIN = iostream_server - -LSRC = $(addsuffix .cpp,$(BIN)) - -VLDLIBS = $(LDLIBS:%=%$(VAR)) - -BUILD = $(VBIN) - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU -include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU -include $(ACE_ROOT)/include/makeinclude/rules.local.GNU - -#---------------------------------------------------------------------------- -# Local targets -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Dependencies -#---------------------------------------------------------------------------- - -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. - -.obj/iostream_server.o .shobj/iostream_server.: iostream_server.cpp \ - $(ACE_ROOT)/ace/Acceptor.h \ - $(ACE_ROOT)/ace/Service_Config.h \ - $(ACE_ROOT)/ace/Service_Object.h \ - $(ACE_ROOT)/ace/Shared_Object.h \ - $(ACE_ROOT)/ace/ACE.h \ - $(ACE_ROOT)/ace/OS.h \ - $(ACE_ROOT)/ace/config.h \ - $(ACE_ROOT)/ace/iosfwd.h \ - $(ACE_ROOT)/ace/OS.i \ - $(ACE_ROOT)/ace/Trace.h \ - $(ACE_ROOT)/ace/Log_Msg.h \ - $(ACE_ROOT)/ace/Log_Record.h \ - $(ACE_ROOT)/ace/Log_Priority.h \ - $(ACE_ROOT)/ace/Log_Record.i \ - $(ACE_ROOT)/ace/Version.h \ - $(ACE_ROOT)/ace/ACE.i \ - $(ACE_ROOT)/ace/Shared_Object.i \ - $(ACE_ROOT)/ace/Event_Handler.h \ - $(ACE_ROOT)/ace/Event_Handler.i \ - $(ACE_ROOT)/ace/Service_Object.i \ - $(ACE_ROOT)/ace/Signal.h \ - $(ACE_ROOT)/ace/Synch.h \ - $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ - $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ - $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ - $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ - $(ACE_ROOT)/ace/Synch.i \ - $(ACE_ROOT)/ace/Synch_T.h \ - $(ACE_ROOT)/ace/Synch_T.i \ - $(ACE_ROOT)/ace/Thread.h \ - $(ACE_ROOT)/ace/Thread.i \ - $(ACE_ROOT)/ace/Atomic_Op.i \ - $(ACE_ROOT)/ace/Containers.h \ - $(ACE_ROOT)/ace/Containers.i \ - $(ACE_ROOT)/ace/Signal.i \ - $(ACE_ROOT)/ace/Object_Manager.h \ - $(ACE_ROOT)/ace/Object_Manager.i \ - $(ACE_ROOT)/ace/Managed_Object.h \ - $(ACE_ROOT)/ace/Managed_Object.i \ - $(ACE_ROOT)/ace/Service_Config.i \ - $(ACE_ROOT)/ace/Reactor.h \ - $(ACE_ROOT)/ace/Handle_Set.h \ - $(ACE_ROOT)/ace/Handle_Set.i \ - $(ACE_ROOT)/ace/Timer_Queue.h \ - $(ACE_ROOT)/ace/Timer_Queue_T.h \ - $(ACE_ROOT)/ace/Free_List.h \ - $(ACE_ROOT)/ace/Free_List.i \ - $(ACE_ROOT)/ace/Timer_Queue_T.i \ - $(ACE_ROOT)/ace/Reactor.i \ - $(ACE_ROOT)/ace/Reactor_Impl.h \ - $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ - $(ACE_ROOT)/ace/Svc_Handler.h \ - $(ACE_ROOT)/ace/Synch_Options.h \ - $(ACE_ROOT)/ace/Task.h \ - $(ACE_ROOT)/ace/Thread_Manager.h \ - $(ACE_ROOT)/ace/Thread_Manager.i \ - $(ACE_ROOT)/ace/Task.i \ - $(ACE_ROOT)/ace/Task_T.h \ - $(ACE_ROOT)/ace/Message_Queue.h \ - $(ACE_ROOT)/ace/Message_Block.h \ - $(ACE_ROOT)/ace/Malloc.h \ - $(ACE_ROOT)/ace/Malloc.i \ - $(ACE_ROOT)/ace/Malloc_T.h \ - $(ACE_ROOT)/ace/Malloc_T.i \ - $(ACE_ROOT)/ace/Memory_Pool.h \ - $(ACE_ROOT)/ace/Mem_Map.h \ - $(ACE_ROOT)/ace/Mem_Map.i \ - $(ACE_ROOT)/ace/Memory_Pool.i \ - $(ACE_ROOT)/ace/Message_Block.i \ - $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ - $(ACE_ROOT)/ace/Strategies.h \ - $(ACE_ROOT)/ace/Strategies_T.h \ - $(ACE_ROOT)/ace/Hash_Map_Manager.h \ - $(ACE_ROOT)/ace/Message_Queue.i \ - $(ACE_ROOT)/ace/Task_T.i \ - $(ACE_ROOT)/ace/Dynamic.h \ - $(ACE_ROOT)/ace/Dynamic.i \ - $(ACE_ROOT)/ace/Singleton.h \ - $(ACE_ROOT)/ace/Singleton.i \ - $(ACE_ROOT)/ace/Svc_Handler.i \ - $(ACE_ROOT)/ace/Acceptor.i \ - $(ACE_ROOT)/ace/SOCK_Acceptor.h \ - $(ACE_ROOT)/ace/SOCK_Stream.h \ - $(ACE_ROOT)/ace/SOCK_IO.h \ - $(ACE_ROOT)/ace/SOCK.h \ - $(ACE_ROOT)/ace/Addr.h \ - $(ACE_ROOT)/ace/Addr.i \ - $(ACE_ROOT)/ace/IPC_SAP.h \ - $(ACE_ROOT)/ace/IPC_SAP.i \ - $(ACE_ROOT)/ace/SOCK.i \ - $(ACE_ROOT)/ace/SOCK_IO.i \ - $(ACE_ROOT)/ace/INET_Addr.h \ - $(ACE_ROOT)/ace/INET_Addr.i \ - $(ACE_ROOT)/ace/SOCK_Stream.i \ - $(ACE_ROOT)/ace/Time_Value.h \ - $(ACE_ROOT)/ace/SOCK_Acceptor.i \ - $(ACE_ROOT)/ace/IOStream.h \ - $(ACE_ROOT)/ace/streams.h \ - $(ACE_ROOT)/ace/IOStream_T.h \ - $(ACE_ROOT)/ace/IOStream_T.i - -# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/examples/IOStream/server/iostream_server.cpp b/examples/IOStream/server/iostream_server.cpp deleted file mode 100644 index 86b93f51b99..00000000000 --- a/examples/IOStream/server/iostream_server.cpp +++ /dev/null @@ -1,182 +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/IOStream.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_TYPENAME_KEYWORD) -#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); -}; - -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 -main (int argc, char *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 ? atoi (argv[1]) : ACE_DEFAULT_SERVER_PORT); - - if (peer_acceptor.open (addr) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "%p\n", - "open"), - -1); - - else if (ACE_Reactor::instance ()->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) starting up daemon\n")); - - ACE_Reactor::run_event_loop (); - - ACE_DEBUG ((LM_DEBUG, - "(%P) shutting down server daemon\n")); - -#else - ACE_ERROR ((LM_ERROR, "ACE_IOSTREAM not supported on this platform\n")); -#endif /* !ACE_LACKS_ACE_IOSTREAM */ - return 0; -} - - -#if !defined (ACE_LACKS_ACE_IOSTREAM) -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Acceptor <Handler, ACE_SOCK_ACCEPTOR>; -template class ACE_IOStream <ACE_SOCK_Stream>; -template class ACE_Streambuf_T <ACE_SOCK_Stream>; -template class ACE_Svc_Handler <ACE_SOCK_IOStream, ACE_INET_Addr, ACE_NULL_SYNCH>; -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#pragma instantiate ACE_Acceptor <Handler, ACE_SOCK_ACCEPTOR> -#pragma instantiate ACE_IOStream <ACE_SOCK_Stream> -#pragma instantiate ACE_Streambuf_T <ACE_SOCK_Stream> -#pragma instantiate ACE_Svc_Handler <ACE_SOCK_IOStream, ACE_INET_Addr, ACE_NULL_SYNCH> -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ - -#endif /* !ACE_LACKS_ACE_IOSTREAM */ |