summaryrefslogtreecommitdiff
path: root/ACE/protocols/ace/RMCast/Flow.h
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/protocols/ace/RMCast/Flow.h')
-rw-r--r--ACE/protocols/ace/RMCast/Flow.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/ACE/protocols/ace/RMCast/Flow.h b/ACE/protocols/ace/RMCast/Flow.h
new file mode 100644
index 00000000000..e64d0d438a2
--- /dev/null
+++ b/ACE/protocols/ace/RMCast/Flow.h
@@ -0,0 +1,43 @@
+// file : ace/RMCast/Flow.h
+// author : Boris Kolpackov <boris@kolpackov.net>
+// cvs-id : $Id$
+
+#ifndef ACE_RMCAST_FLOW_H
+#define ACE_RMCAST_FLOW_H
+
+#include "Stack.h"
+#include "Protocol.h"
+#include "Bits.h"
+#include "Parameters.h"
+
+namespace ACE_RMCast
+{
+ class Flow : public Element
+ {
+ public:
+ Flow (Parameters const& params);
+
+ public:
+ virtual void
+ send (Message_ptr m);
+
+ virtual void
+ recv (Message_ptr m);
+
+ private:
+ Parameters const& params_;
+
+ Mutex mutex_;
+ ACE_Time_Value nak_time_;
+
+ // Throughput sampling.
+ //
+ ACE_Time_Value sample_start_time_;
+ unsigned long sample_bytes_;
+ double current_tput_;
+ double cap_tput_;
+ };
+}
+
+
+#endif // ACE_RMCAST_FLOW_H