summaryrefslogtreecommitdiff
path: root/ace/RMCast/RMCast_Fragment.h
diff options
context:
space:
mode:
Diffstat (limited to 'ace/RMCast/RMCast_Fragment.h')
-rw-r--r--ace/RMCast/RMCast_Fragment.h28
1 files changed, 21 insertions, 7 deletions
diff --git a/ace/RMCast/RMCast_Fragment.h b/ace/RMCast/RMCast_Fragment.h
index 7b64d763ebc..8aa7024770e 100644
--- a/ace/RMCast/RMCast_Fragment.h
+++ b/ace/RMCast/RMCast_Fragment.h
@@ -6,7 +6,7 @@
// The fragmentation task for the reliable multicast library
//
// = AUTHOR
-// Carlos O'Ryan <coryan@uci.edu>
+// Carlos O'Ryan <coryan@cs.wustl.edu>
//
// ============================================================================
@@ -14,8 +14,8 @@
#define ACE_RMCAST_FRAGMENT_H
#include "ace/pre.h"
-#include "RMCast_Module.h"
-#include "ace/Synch.h"
+#include "RMCast_Export.h"
+#include "ace/Task.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
@@ -25,10 +25,12 @@
# define ACE_RMCAST_DEFAULT_FRAGMENT_SIZE 1024
#endif /* ACE_RMCAST_DEFAULT_FRAGMENT_SIZE */
-class ACE_RMCast_Export ACE_RMCast_Fragment : public ACE_RMCast_Module
+template <ACE_SYNCH_DECL>
+class ACE_RMCast_Export ACE_RMCast_Fragment : public ACE_Task<ACE_SYNCH_USE>
{
public:
- ACE_RMCast_Fragment (void);
+ ACE_RMCast_Fragment (ACE_Thread_Manager *thr_mgr = 0,
+ ACE_Message_Queue<ACE_SYNCH_USE> *mq = 0);
// Constructor
virtual ~ACE_RMCast_Fragment (void);
@@ -39,16 +41,28 @@ public:
// There is no modifier, the maximum fragment size is obtained using
// feedback from the lower layer (transport?)
- // = The ACE_RMCast_Module methods
- virtual int data (ACE_RMCast::Data &data);
+ // = The ACE_Task methods
+ int put (ACE_Message_Block *, ACE_Time_Value *timeout = 0);
private:
size_t max_fragment_size_;
+
+ ACE_SYNCH_MUTEX_T mutex_;
+ ACE_UINT32 sequence_number_generator_;
+ // The sequence number generator
};
#if defined (__ACE_INLINE__)
#include "RMCast_Fragment.i"
#endif /* __ACE_INLINE__ */
+#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
+#include "RMCast_Fragment.cpp"
+#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
+
+#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
+#pragma implementation ("RMCast_Fragment.cpp")
+#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
+
#include "ace/post.h"
#endif /* ACE_RMCAST_FRAGMENT_H */