diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-08-21 16:09:37 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-08-21 16:09:37 +0000 |
commit | 71638b50fdc367c2d98e05eccd290058fdb2cc9f (patch) | |
tree | b9bc524019091a267284dd35b7eaa23c4971d4ce /tests/RMCast | |
parent | d5705c3b52b6c14d046bcae31639f02b32900152 (diff) | |
download | ATCD-71638b50fdc367c2d98e05eccd290058fdb2cc9f.tar.gz |
ChangeLogTag:Mon Aug 21 08:58:19 2000 Carlos O'Ryan <coryan@uci.edu>
Diffstat (limited to 'tests/RMCast')
-rw-r--r-- | tests/RMCast/RMCast_Fragment_Test.cpp | 10 | ||||
-rw-r--r-- | tests/RMCast/RMCast_Reassembly_Test.cpp | 6 | ||||
-rw-r--r-- | tests/RMCast/RMCast_Tests.dsw | 12 | ||||
-rw-r--r-- | tests/RMCast/RMCast_UDP_Best_Effort_Test.cpp | 146 | ||||
-rw-r--r-- | tests/RMCast/RMCast_UDP_Best_Effort_Test.dsp | 96 |
5 files changed, 202 insertions, 68 deletions
diff --git a/tests/RMCast/RMCast_Fragment_Test.cpp b/tests/RMCast/RMCast_Fragment_Test.cpp index 36b52255e6f..909bab01f05 100644 --- a/tests/RMCast/RMCast_Fragment_Test.cpp +++ b/tests/RMCast/RMCast_Fragment_Test.cpp @@ -23,7 +23,7 @@ class ACE_RMCast_Fragment_Tester public: ACE_RMCast_Fragment_Tester (void); - virtual int put_data (ACE_RMCast::Data &data); + virtual int data (ACE_RMCast::Data &data); virtual int svc (void); private: @@ -84,7 +84,7 @@ ACE_RMCast_Fragment_Tester::svc (void) ACE_RMCast::Data data; data.payload = &big_blob; - if (this->fragment_.put_data (data) == -1) + if (this->fragment_.data (data) == -1) return -1; if (this->received_bytes_ != n) @@ -126,7 +126,7 @@ ACE_RMCast_Fragment_Tester::svc (void) ACE_RMCast::Data data; data.payload = small; - if (this->fragment_.put_data (data) == -1) + if (this->fragment_.data (data) == -1) return -1; ACE_UINT32 total = n * size; @@ -176,7 +176,7 @@ ACE_RMCast_Fragment_Tester::svc (void) ACE_RMCast::Data data; data.payload = small; - if (this->fragment_.put_data (data) == -1) + if (this->fragment_.data (data) == -1) return -1; if (this->received_bytes_ != total) @@ -246,7 +246,7 @@ ACE_RMCast_Fragment_Tester::compare (ACE_Message_Block *mb) } int -ACE_RMCast_Fragment_Tester::put_data (ACE_RMCast::Data &data) +ACE_RMCast_Fragment_Tester::data (ACE_RMCast::Data &data) { ACE_UINT32 sequence_number = data.sequence_number; ACE_UINT32 message_size = data.total_size; diff --git a/tests/RMCast/RMCast_Reassembly_Test.cpp b/tests/RMCast/RMCast_Reassembly_Test.cpp index 12b148cae0d..34a262cb617 100644 --- a/tests/RMCast/RMCast_Reassembly_Test.cpp +++ b/tests/RMCast/RMCast_Reassembly_Test.cpp @@ -23,7 +23,7 @@ class ACE_RMCast_Reassembly_Tester public: ACE_RMCast_Reassembly_Tester (void); - virtual int put_data (ACE_RMCast::Data &data); + virtual int data (ACE_RMCast::Data &data); virtual int svc (void); private: @@ -250,7 +250,7 @@ ACE_RMCast_Reassembly_Tester::compare (ACE_Message_Block *received, } int -ACE_RMCast_Reassembly_Tester::put_data (ACE_RMCast::Data &data) +ACE_RMCast_Reassembly_Tester::data (ACE_RMCast::Data &data) { ACE_Message_Block *mb = data.payload; @@ -286,7 +286,7 @@ ACE_RMCast_Reassembly_Tester::put_fragment (ACE_UINT32 sequence_number, data.total_size = total_length; data.fragment_offset = offset; data.payload = &p; - return this->reassembly_.put_data (data); + return this->reassembly_.data (data); } ACE_UINT32 diff --git a/tests/RMCast/RMCast_Tests.dsw b/tests/RMCast/RMCast_Tests.dsw index 7471a20220b..f001518bff9 100644 --- a/tests/RMCast/RMCast_Tests.dsw +++ b/tests/RMCast/RMCast_Tests.dsw @@ -27,6 +27,18 @@ Package=<4> ###############################################################################
+Project: "RMCast_UDP_Best_Effort_Test"=.\RMCast_UDP_Best_Effort_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
Global:
Package=<5>
diff --git a/tests/RMCast/RMCast_UDP_Best_Effort_Test.cpp b/tests/RMCast/RMCast_UDP_Best_Effort_Test.cpp index 3467d4062d4..2358b3a3acb 100644 --- a/tests/RMCast/RMCast_UDP_Best_Effort_Test.cpp +++ b/tests/RMCast/RMCast_UDP_Best_Effort_Test.cpp @@ -11,12 +11,11 @@ // ============================================================================ #include "test_config.h" -#include "ace/RMCast/RMCast_UDP_Sender.h" +#include "ace/RMCast/RMCast_IO_UDP.h" #include "ace/RMCast/RMCast_Fragment.h" -#include "ace/RMCast/RMCast_UDP_Receiver.h" -#include "ace/RMCast/RMCast_Sender_Proxy_Best_Effort.h" -#include "ace/RMCast/RMCast_Sender_Proxy_Factory.h" +#include "ace/RMCast/RMCast_Module_Factory.h" +#include "ace/RMCast/RMCast_Fragment.h" #include "ace/RMCast/RMCast_Reassembly.h" #include "ace/Task.h" @@ -24,33 +23,69 @@ ACE_RCSID(tests, RMCast_UDP_Best_Effort_Test, "$Id$") const size_t message_size = 8 * 1024; +const int total_message_count = 40; // **************************************************************** -class Sender : public ACE_Task_Base +class Sender_Factory : public ACE_RMCast_Module_Factory { public: - Sender (const ACE_INET_Addr &mcast_group); + Sender_Factory (void) + { + } + + virtual ACE_RMCast_Module *create (ACE_RMCast_IO_UDP *) + { + return new ACE_RMCast_Reassembly; + } + + virtual void destroy (ACE_RMCast_Module *module) + { + delete module; + } +}; - virtual int svc (void); +// **************************************************************** + +class Receiver_Factory : public ACE_RMCast_Module_Factory +{ +public: + Receiver_Factory (ACE_RMCast_Module *module) + : module_ (module) + { + } + + virtual ACE_RMCast_Module *create (ACE_RMCast_IO_UDP *) + { + ACE_RMCast_Module *x = new ACE_RMCast_Reassembly; + x->next (this->module_); + return x; + } + + virtual void destroy (ACE_RMCast_Module *module) + { + delete module; + } private: - ACE_RMCast_UDP_Sender sender_; - ACE_RMCast_Fragment fragment_; + ACE_RMCast_Module *module_; }; // **************************************************************** -class Sender_Proxy_Factory : public ACE_RMCast_Sender_Proxy_Factory +class Sender : public ACE_Task_Base { public: - Sender_Proxy_Factory (ACE_RMCast_Module *user_module); + Sender (const ACE_INET_Addr &mcast_group); + + virtual int svc (void); - virtual ACE_RMCast_Sender_Proxy *create (void); - virtual void destroy (ACE_RMCast_Sender_Proxy *); - private: - ACE_RMCast_Module *user_module_; + Sender_Factory factory_; + ACE_RMCast_IO_UDP io_udp_; + ACE_RMCast_Fragment fragment_; + + ACE_INET_Addr mcast_group_; }; // **************************************************************** @@ -60,16 +95,22 @@ class Receiver : public ACE_RMCast_Module public: Receiver (const ACE_INET_Addr &mcast_group); + void dump (void); + // Print the results of the test + int handle_events (ACE_Time_Value *tv); // Invoke the UDP Receiver handle_events function virtual int open (void); - virtual int put_data (ACE_RMCast::Data &data); + virtual int data (ACE_RMCast::Data &data); private: - Sender_Proxy_Factory factory_; - ACE_RMCast_UDP_Receiver udp_receiver_; + Receiver_Factory factory_; + ACE_RMCast_IO_UDP io_udp_; + ACE_INET_Addr mcast_group_; + + int message_count_; }; // **************************************************************** @@ -114,65 +155,38 @@ main (int, ACE_TCHAR *[]) if (ACE_Thread_Manager::instance ()->wait () != 0) ACE_ERROR_RETURN ((LM_ERROR, "Error in Thread_Manager::wait\n"), 1); + receiver.dump (); + ACE_END_TEST; return 0; } // **************************************************************** -Sender_Proxy_Factory::Sender_Proxy_Factory (ACE_RMCast_Module *m) - : user_module_ (m) -{ -} - -ACE_RMCast_Sender_Proxy * -Sender_Proxy_Factory::create (void) -{ - ACE_RMCast_Module *top = - new ACE_RMCast_Reassembly; - top->next (this->user_module_); - - ACE_RMCast_Sender_Proxy *proxy = - new ACE_RMCast_Sender_Proxy_Best_Effort (top); - - ACE_DEBUG ((LM_DEBUG, "Created proxy = %x\n", long(proxy))); - return proxy; -} - -void -Sender_Proxy_Factory::destroy (ACE_RMCast_Sender_Proxy *proxy) -{ - ACE_RMCast_Module *module = proxy->module (); - delete module; - delete proxy; - ACE_DEBUG ((LM_DEBUG, "Destroyed proxy = %x\n", long(proxy))); -} - -// **************************************************************** - Receiver::Receiver (const ACE_INET_Addr &mcast_group) : factory_ (this) - , udp_receiver_ (&factory_) + , io_udp_ (&factory_) , mcast_group_ (mcast_group) + , message_count_ (0) { } int Receiver::handle_events (ACE_Time_Value *tv) { - return this->udp_receiver_.handle_events (tv); + return this->io_udp_.handle_events (tv); } int Receiver::open (void) { - if (this->udp_receiver_.subscribe (this->mcast_group_) != 0) - ACE_ERROR_RETURN ((LM_ERROR, "Error subscribing routine\n"), -1); + if (this->io_udp_.subscribe (this->mcast_group_) != 0) + ACE_ERROR_RETURN ((LM_ERROR, "Error in IO_UDP::subscribe\n"), -1); return 0; } int -Receiver::put_data (ACE_RMCast::Data &data) +Receiver::data (ACE_RMCast::Data &data) { if (data.total_size != message_size) ACE_ERROR_RETURN ((LM_ERROR, @@ -198,25 +212,37 @@ Receiver::put_data (ACE_RMCast::Data &data) long(j - data.payload->rd_ptr ())), -1); } + this->message_count_++; + return 0; } +void +Receiver::dump (void) +{ + ACE_DEBUG ((LM_DEBUG, + "Message count = %d/%d", + this->message_count_, + total_message_count)); +} + // **************************************************************** Sender::Sender (const ACE_INET_Addr &mcast_group) - : sender_ (mcast_group) + : io_udp_ (&factory_) + , mcast_group_ (mcast_group) { } int Sender::svc () { - if (this->sender_.open () != 0) - ACE_ERROR ((LM_ERROR, "Error in Sender::open()\n")); - - if (this->fragment_.next (&this->sender_) != 0) + if (this->fragment_.next (&this->io_udp_) != 0) ACE_ERROR ((LM_ERROR, "Error in Fragment::next()\n")); + if (this->io_udp_.subscribe (this->mcast_group_) != 0) + ACE_ERROR ((LM_ERROR, "Error in IO_UDP::subscribe()\n")); + ACE_Message_Block big_blob (message_size); big_blob.wr_ptr (message_size); @@ -226,12 +252,12 @@ Sender::svc () *j = filler++; } - for (int i = 0; i != 20; ++i) + for (int i = 0; i != total_message_count; ++i) { ACE_RMCast::Data data; data.sequence_number = i; data.payload = &big_blob; - this->fragment_.put_data (data); + this->fragment_.data (data); } return 0; } diff --git a/tests/RMCast/RMCast_UDP_Best_Effort_Test.dsp b/tests/RMCast/RMCast_UDP_Best_Effort_Test.dsp new file mode 100644 index 00000000000..3771278b950 --- /dev/null +++ b/tests/RMCast/RMCast_UDP_Best_Effort_Test.dsp @@ -0,0 +1,96 @@ +# Microsoft Developer Studio Project File - Name="RMCast_UDP_Best_Effort_Test" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=RMCast_UDP_Best_Effort_Test - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "RMCast_UDP_Best_Effort_Test.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "RMCast_UDP_Best_Effort_Test.mak" CFG="RMCast_UDP_Best_Effort_Test - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "RMCast_UDP_Best_Effort_Test - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "RMCast_UDP_Best_Effort_Test - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "RMCast_UDP_Best_Effort_Test - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib ACE_RMCast.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\ace" /libpath:"..\..\ace\RMCast"
+
+!ELSEIF "$(CFG)" == "RMCast_UDP_Best_Effort_Test - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\.." /I ".." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 ACE_RMCastd.lib aced.lib /nologo /subsystem:console /debug /machine:I386 /out:"RMCast_UDP_Best_Effort_Test.exe" /pdbtype:sept /libpath:"..\..\ace" /libpath:"..\..\ace\RMCast"
+
+!ENDIF
+
+# Begin Target
+
+# Name "RMCast_UDP_Best_Effort_Test - Win32 Release"
+# Name "RMCast_UDP_Best_Effort_Test - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\RMCast_UDP_Best_Effort_Test.cpp
+# End Source File
+# End Group
+# End Target
+# End Project
|