From 26054da56f8a7010ce1184ab59fd050edcbb2473 Mon Sep 17 00:00:00 2001 From: Ossama Othman Date: Tue, 8 Feb 2005 08:34:52 +0000 Subject: ChangeLogTag:Tue Feb 8 00:22:48 2005 Ossama Othman --- ace/RMCast/ACE_RMCast.pc.in | 11 +++++++++++ ace/RMCast/README | 22 ++++++++++++++++++++++ ace/RMCast/RMCast_Export.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 77 insertions(+) create mode 100644 ace/RMCast/ACE_RMCast.pc.in create mode 100644 ace/RMCast/README create mode 100644 ace/RMCast/RMCast_Export.h diff --git a/ace/RMCast/ACE_RMCast.pc.in b/ace/RMCast/ACE_RMCast.pc.in new file mode 100644 index 00000000000..3eb6428d28b --- /dev/null +++ b/ace/RMCast/ACE_RMCast.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: ACE_RMCast +Description: ACE Reliable Multicast Library +Requires: ACE +Version: @VERSION@ +Libs: -L${libdir} -lACE_RMCast +Cflags: -I${includedir} diff --git a/ace/RMCast/README b/ace/RMCast/README new file mode 100644 index 00000000000..d8cfbc040c7 --- /dev/null +++ b/ace/RMCast/README @@ -0,0 +1,22 @@ +RMCast is a reliable source-ordered multicast protocol implementation +for message-oriented multi-sender group communication built on top of +IPv4 multicast. It uses sequence numbers for re-ordering, duplicate +suppression and loss detection. Negative acknowledgments (NAK) with +retransmissions are used to recover from losses. + +One new and interesting idea implemented in this protocol is history +transmission (dubbed negative retransmission). In a nutshell, each +sender, along with normal payload, transmits a list of other sender's +IDs along with sequence numbers of last messages received from those +senders by this member. This, in some sense, builds a pyramid of +information: each subsequent message carries some information for a +number of previous messages (from other senders). This helps other +receivers detect losses. + +The protocol does not track group membership. Messages are retained +for retransmission for a predefined amount of time. The "last message +or lost message" dilemma is solved by periodic history transmissions +in cases when there is no useful traffic (idle network). + +-- +Boris Kolpackov diff --git a/ace/RMCast/RMCast_Export.h b/ace/RMCast/RMCast_Export.h new file mode 100644 index 00000000000..51257c4d682 --- /dev/null +++ b/ace/RMCast/RMCast_Export.h @@ -0,0 +1,44 @@ +// -*- C++ -*- +// $Id$ +// Definition for Win32 Export directives. +// This file is generated automatically by +// generate_export_file.pl +// ------------------------------ +#if !defined (ACE_RMCAST_EXPORT_H) +#define ACE_RMCAST_EXPORT_H + +#include "ace/config-all.h" + +#if defined (ACE_AS_STATIC_LIBS) && !defined (ACE_RMCAST_HAS_DLL) +# define ACE_RMCAST_HAS_DLL 0 +#endif /* ACE_AS_STATIC_LIBS && ACE_RMCAST_HAS_DLL */ + +#if !defined (ACE_RMCAST_HAS_DLL) +#define ACE_RMCAST_HAS_DLL 1 +#endif /* ! ACE_RMCAST_HAS_DLL */ + +#if defined (ACE_RMCAST_HAS_DLL) +# if (ACE_RMCAST_HAS_DLL == 1) +# if defined (ACE_RMCAST_BUILD_DLL) +# define ACE_RMCast_Export ACE_Proper_Export_Flag +# define ACE_RMCAST_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) +# define ACE_RMCAST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +# else +# define ACE_RMCast_Export ACE_Proper_Import_Flag +# define ACE_RMCAST_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) +# define ACE_RMCAST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +# endif /* ACE_RMCAST_BUILD_DLL */ +# else +# define ACE_RMCast_Export +# define ACE_RMCAST_SINGLETON_DECLARATION(T) +# define ACE_RMCAST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +# endif /* ! ACE_RMCAST_HAS_DLL == 1 */ +#else +# define ACE_RMCast_Export +# define ACE_RMCAST_SINGLETON_DECLARATION(T) +# define ACE_RMCAST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +#endif /* ACE_RMCAST_HAS_DLL */ + +#endif /* ACE_RMCAST_EXPORT_H */ + +// End of auto generated file. -- cgit v1.2.1