summaryrefslogtreecommitdiff
path: root/ace/Message_Block.h
diff options
context:
space:
mode:
authorcdgill <cdgill@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-06-24 16:33:06 +0000
committercdgill <cdgill@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-06-24 16:33:06 +0000
commit7c1c009a9f05509740534c4aa9d86b3f98c08f48 (patch)
tree2f8d3ef6af798cd9475ee7d0fc6da37251e537ec /ace/Message_Block.h
parent532f007a3ba02d737b31ec46d23c891b90f2800f (diff)
downloadATCD-7c1c009a9f05509740534c4aa9d86b3f98c08f48.tar.gz
added dynamic message queues
Diffstat (limited to 'ace/Message_Block.h')
-rw-r--r--ace/Message_Block.h31
1 files changed, 29 insertions, 2 deletions
diff --git a/ace/Message_Block.h b/ace/Message_Block.h
index 16387310589..92f82ae4843 100644
--- a/ace/Message_Block.h
+++ b/ace/Message_Block.h
@@ -24,6 +24,7 @@
// Forward declaration.
class ACE_Data_Block;
class ACE_Lock;
+class ACE_Time_Value;
class ACE_Export ACE_Message_Block
{
@@ -113,7 +114,9 @@ public:
const char *data = 0,
ACE_Allocator *allocator_strategy = 0,
ACE_Lock *locking_strategy = 0,
- u_long priority = 0);
+ u_long priority = 0,
+ const ACE_Time_Value & execution_time = ACE_Time_Value::zero,
+ const ACE_Time_Value & deadline_time = ACE_Time_Value::zero);
// Create an initialized message of type <type> containing <size>
// bytes. The <cont> argument initializes the continuation field in
// the <Message_Block>. If <data> == 0 then we create and own the
@@ -138,7 +141,9 @@ public:
const char *data = 0,
ACE_Allocator *allocator_strategy = 0,
ACE_Lock *locking_strategy = 0,
- u_long priority = 0);
+ u_long priority = 0,
+ const ACE_Time_Value & execution_time = ACE_Time_Value::zero,
+ const ACE_Time_Value & deadline_time = ACE_Time_Value::zero);
// Create an initialized message of type <type> containing <size>
// bytes. The <cont> argument initializes the continuation field in
// the <Message_Block>. If <data> == 0 then we create and own the
@@ -186,6 +191,18 @@ public:
void msg_priority (u_long priority);
// Set priority of the message.
+ const ACE_Time_Value & msg_execution_time (void) const;
+ // Get execution time associated with the message.
+
+ void msg_execution_time (const ACE_Time_Value & et);
+ // Set execution time associated with the message.
+
+ const ACE_Time_Value & msg_deadline_time (void) const;
+ // Get absolute time of deadline associated with the message.
+
+ void msg_deadline_time (const ACE_Time_Value & dt);
+ // Set absolute time of deadline associated with the message.
+
// = Deep copy and shallow copy methods.
virtual ACE_Message_Block *clone (Message_Flags mask = 0) const;
@@ -314,6 +331,8 @@ private:
ACE_Lock *locking_strategy,
Message_Flags flags,
u_long priority,
+ const ACE_Time_Value & execution_time,
+ const ACE_Time_Value & deadline_time,
ACE_Data_Block *db);
// Perform the actual initialization.
@@ -328,6 +347,8 @@ private:
ACE_Lock *locking_strategy,
Message_Flags flags,
u_long priority,
+ const ACE_Time_Value & execution_time,
+ const ACE_Time_Value & deadline_time,
ACE_Data_Block *db);
// Perform the actual initialization.
@@ -340,6 +361,12 @@ private:
u_long priority_;
// Priority of message.
+ ACE_Time_Value execution_time_;
+ // execution time associated with the message
+
+ ACE_Time_Value deadline_time_;
+ // absolute deadline time for message
+
// = Links to other ACE_Message_Block *s.
ACE_Message_Block *cont_;
// Pointer to next message block in the chain.