summaryrefslogtreecommitdiff
path: root/ace/WIN32_Asynch_IO.h
diff options
context:
space:
mode:
authorbala <bala@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-04-27 14:29:58 +0000
committerbala <bala@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-04-27 14:29:58 +0000
commitd803a5066aef4a3416d07275f4a862baab5c53bc (patch)
treeec4e219c5a8fb2d9b1c4b7bf9668bdee4f576ca9 /ace/WIN32_Asynch_IO.h
parent1817d4f9c02f1482aa8db3ccad0c0af6fd9a59e2 (diff)
downloadATCD-d803a5066aef4a3416d07275f4a862baab5c53bc.tar.gz
ChangeLogTag: Sat Apr 27 09:26:43 2002 Balachandran Natarajan <bala@guajira.cs.wustl.edu>
Diffstat (limited to 'ace/WIN32_Asynch_IO.h')
-rw-r--r--ace/WIN32_Asynch_IO.h92
1 files changed, 88 insertions, 4 deletions
diff --git a/ace/WIN32_Asynch_IO.h b/ace/WIN32_Asynch_IO.h
index d934a3a4c2b..f7e3a67ae99 100644
--- a/ace/WIN32_Asynch_IO.h
+++ b/ace/WIN32_Asynch_IO.h
@@ -263,6 +263,9 @@ public:
/// Post <this> to the Proactor's completion port.
int post_completion (ACE_Proactor_Impl *proactor);
+ /// Accessor for the scatter read flag
+ int scatter_enabled (void) const;
+
protected:
/// Constructor is protected since creation is limited to
/// ACE_Asynch_Read_Stream factory.
@@ -273,7 +276,8 @@ protected:
const void* act,
ACE_HANDLE event,
int priority,
- int signal_number = 0);
+ int signal_number = 0,
+ int scatter_enabled = 0);
/// Proactor will call this method when the read completes.
virtual void complete (u_long bytes_transferred,
@@ -292,6 +296,9 @@ protected:
/// I/O handle used for reading.
ACE_HANDLE handle_;
+
+ /// Flag for scatter read
+ int scatter_enabled_;
};
/**
@@ -322,6 +329,16 @@ public:
int priority,
int signal_number = 0);
+ /**
+ * Same as above but with scatter support, through chaining of composite
+ * message blocks using the continuation field.
+ */
+ int readv (ACE_Message_Block &message_block,
+ u_long bytes_to_read,
+ const void *act,
+ int priority,
+ int signal_number = 0);
+
/// Destructor.
virtual ~ACE_WIN32_Asynch_Read_Stream (void);
@@ -423,6 +440,9 @@ public:
/// Post <this> to the Proactor's completion port.
int post_completion (ACE_Proactor_Impl *proactor);
+ /// Accessor for the gather write flag
+ int gather_enabled (void) const;
+
protected:
/// Constructor is protected since creation is limited to
/// ACE_Asynch_Write_Stream factory.
@@ -433,7 +453,8 @@ protected:
const void* act,
ACE_HANDLE event,
int priority,
- int signal_number = 0);
+ int signal_number = 0,
+ int gather_enabled = 0);
/// ACE_Proactor will call this method when the write completes.
virtual void complete (u_long bytes_transferred,
@@ -453,6 +474,9 @@ protected:
/// I/O handle used for writing.
ACE_HANDLE handle_;
+
+ /// Flag for gather write
+ int gather_enabled_;
};
/**
@@ -483,6 +507,16 @@ public:
int priority,
int signal_number = 0);
+ /**
+ * Same as above but with gather support, through chaining of composite
+ * message blocks using the continuation field.
+ */
+ int writev (ACE_Message_Block &message_block,
+ u_long bytes_to_write,
+ const void *act,
+ int priority,
+ int signal_number = 0);
+
/// Destructor.
virtual ~ACE_WIN32_Asynch_Write_Stream (void);
@@ -603,7 +637,8 @@ protected:
u_long offset_high,
ACE_HANDLE event,
int priority,
- int signal_number = 0);
+ int signal_number = 0,
+ int scatter_enabled = 0);
/// ACE_Proactor will call this method when the read completes.
virtual void complete (u_long bytes_transferred,
@@ -651,6 +686,20 @@ public:
int priority,
int signal_number = 0);
+ /**
+ * Same as above but with scatter support, through chaining of composite
+ * message blocks using the continuation field.
+ * NOTE: Each data block payload must be at least the size of a system memory page
+ * and must be aligned on a system memory page size boundary
+ */
+ int readv (ACE_Message_Block &message_block,
+ u_long bytes_to_read,
+ u_long offset,
+ u_long offset_high,
+ const void *act,
+ int priority,
+ int signal_number = 0);
+
/// Destructor.
virtual ~ACE_WIN32_Asynch_Read_File (void);
@@ -690,6 +739,16 @@ private:
const void *act,
int priority,
int signal_number = 0);
+
+ /**
+ * Same as above but with scatter support, through chaining of composite
+ * message blocks using the continuation field.
+ */
+ int readv (ACE_Message_Block &message_block,
+ u_long bytes_to_read,
+ const void *act,
+ int priority,
+ int signal_number = 0);
};
/**
@@ -787,7 +846,8 @@ protected:
u_long offset_high,
ACE_HANDLE event,
int priority,
- int signal_number = 0);
+ int signal_number = 0,
+ int gather_enabled = 0);
/// ACE_Proactor will call this method when the write completes.
virtual void complete (u_long bytes_transferred,
@@ -831,6 +891,20 @@ public:
int priority,
int signal_number = 0);
+ /**
+ * Same as above but with gather support, through chaining of composite
+ * message blocks using the continuation field.
+ * NOTE: Each data block payload must be at least the size of a system memory page
+ * and must be aligned on a system memory page size boundary
+ */
+ int writev (ACE_Message_Block &message_block,
+ u_long bytes_to_write,
+ u_long offset,
+ u_long offset_high,
+ const void *act,
+ int priority,
+ int signal_number = 0);
+
/// Destrcutor.
virtual ~ACE_WIN32_Asynch_Write_File (void);
@@ -870,6 +944,16 @@ private:
const void *act,
int priority,
int signal_number = 0);
+
+ /**
+ * Same as above but with gather support, through chaining of composite
+ * message blocks using the continuation field.
+ */
+ int writev (ACE_Message_Block &message_block,
+ u_long bytes_to_write,
+ const void *act,
+ int priority,
+ int signal_number = 0);
};
/**