summaryrefslogtreecommitdiff
path: root/ACE/tests/Svc_Handler_Test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/tests/Svc_Handler_Test.cpp')
-rw-r--r--ACE/tests/Svc_Handler_Test.cpp151
1 files changed, 0 insertions, 151 deletions
diff --git a/ACE/tests/Svc_Handler_Test.cpp b/ACE/tests/Svc_Handler_Test.cpp
deleted file mode 100644
index d7342808799..00000000000
--- a/ACE/tests/Svc_Handler_Test.cpp
+++ /dev/null
@@ -1,151 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// tests
-//
-// = FILENAME
-// Svc_Handler_Test.cpp
-//
-// = DESCRIPTION
-// This tests illustrates the "buffering" strategy of the
-// <ACE_Buffered_Svc_Handler>. This test also illustrates how the
-// <ACE_FILE_IO> classes work.
-//
-// = AUTHORS
-// Douglas C. Schmidt <schmidt@cs.wustl.edu>
-//
-// ============================================================================
-
-#include "test_config.h"
-#include "ace/OS_NS_string.h"
-#include "ace/FILE_Connector.h"
-#include "ace/Null_Condition.h"
-#include "ace/Null_Mutex.h"
-#include "ace/Svc_Handler.h"
-#include "ace/Synch_Traits.h"
-
-ACE_RCSID(tests, Svc_Handler_Test, "$Id$")
-
-typedef ACE_Buffered_Svc_Handler <ACE_FILE_STREAM, ACE_NULL_SYNCH> SVC_HANDLER;
-
-static void
-run_test (SVC_HANDLER &svc_handler,
- size_t iterations)
-{
- // Create a whole slew of message blocks and pass them to the
- // <svc_handler>.
- for (size_t i = 0; i < iterations; i++)
- {
- ACE_Message_Block *mb = 0;
- ACE_NEW (mb,
- ACE_Message_Block (sizeof (ACE_TEXT("hello "))));
-
- ACE_Message_Block *cb1 = 0;
- ACE_NEW (cb1,
- ACE_Message_Block (sizeof (ACE_TEXT("there\n"))));
-
- ACE_Message_Block *cb2 = 0;
- ACE_NEW (cb2,
- ACE_Message_Block (sizeof (ACE_TEXT("there\n"))));
-
- mb->copy ("hello ",
- ACE_OS::strlen (ACE_TEXT("hello ")));
- cb1->copy ("there ",
- ACE_OS::strlen (ACE_TEXT("there ")));
- mb->cont (cb1);
- cb2->copy ("doug\n",
- ACE_OS::strlen (ACE_TEXT("doug\n")));
- cb1->cont (cb2);
-
- // Note that this is a buffered call!
- if (svc_handler.put (mb) == -1)
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("%p\n"),
- ACE_TEXT ("put")));
- }
-
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("final flush\n")));
-
- // Make sure to flush everything out before we exit.
- if (svc_handler.flush () == -1)
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("%p\n"),
- ACE_TEXT ("flush")));
-}
-
-int
-run_main (int argc, ACE_TCHAR *argv[])
-{
- ACE_START_TEST (ACE_TEXT ("Svc_Handler_Test"));
- {
- size_t max_buffer_size = BUFSIZ;
- size_t iterations = 10;
-
- if (argc > 1)
- max_buffer_size = ACE_OS::atoi (argv[1]);
- if (argc > 2)
- iterations = ACE_OS::atoi (argv[2]);
-
- ACE_FILE_Connector connector;
- ACE_FILE_IO file_io;
- // Create a temporary filename.
- ACE_FILE_Addr file (ACE_sap_any_cast (ACE_FILE_Addr &));
-
- // Open up the temp file.
- if (connector.connect (file_io, file) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("connect failed for %p\n"),
- file.get_path_name ()),
- 1);
-
- // Create the service handler and assign it <file_io> as its data
- // sink.
- SVC_HANDLER svc_handler (0,
- 0,
- 0,
- max_buffer_size,
- 0);
- svc_handler.peer () = file_io;
-
- // Run the test.
- run_test (svc_handler, iterations);
-
- file_io.close ();
-
- // Open up the temp file.
- if (connector.connect (file_io, file) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("connect failed for %p\n"),
- file.get_path_name ()),
- 1);
- char buf[ACE_MAXLOGMSGLEN + 1];
- ACE_LOG_MSG->clr_flags (ACE_Log_Msg::VERBOSE_LITE);
-
- ACE_FILE_Info info;
- file_io.get_info (info);
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT("file size = %d\n"), info.size_));
-
- for (ssize_t n_bytes; (n_bytes = file_io.recv (buf, ACE_MAXLOGMSGLEN)) > 0; )
- {
- buf[n_bytes] = '\0';
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT("%s"), ACE_TEXT_CHAR_TO_TCHAR(buf)));
- }
-
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT("\n")));
-
- file_io.close ();
-
- if (file_io.unlink () == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("unlink failed for %p\n"),
- file.get_path_name ()),
- 1);
- }
-
- ACE_END_TEST;
- return 0;
-}
-