summaryrefslogtreecommitdiff
path: root/ace/CDR_Stream.h
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-03-01 00:45:49 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-03-01 00:45:49 +0000
commit5132021f59c37082bb0ac2d682020dd37d867378 (patch)
tree0599ef1d31c312cffd152e295b0efdeb218138f2 /ace/CDR_Stream.h
parentdce560680c2da0c2e30b70e4944f5f8ad8f202c8 (diff)
downloadATCD-5132021f59c37082bb0ac2d682020dd37d867378.tar.gz
ChangeLogTag:Tue Feb 29 16:40:43 2000 Carlos O'Ryan <coryan@uci.edu>
Diffstat (limited to 'ace/CDR_Stream.h')
-rw-r--r--ace/CDR_Stream.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/ace/CDR_Stream.h b/ace/CDR_Stream.h
index a6aac43ade4..e88ea07613c 100644
--- a/ace/CDR_Stream.h
+++ b/ace/CDR_Stream.h
@@ -459,6 +459,11 @@ public:
ACE_WChar_Codeset_Translator *wchar_translator (void) const;
// Access the codeset translators. They can be nil!
+ size_t current_alignment (void) const;
+ // Return alignment of the wr_ptr(), with respect to the start of
+ // the CDR stream. This is not the same as the alignment of
+ // current->wr_ptr()!
+
private:
ACE_OutputCDR (const ACE_OutputCDR& rhs);
ACE_OutputCDR& operator= (const ACE_OutputCDR& rhs);
@@ -517,6 +522,20 @@ private:
ACE_Message_Block *current_;
// The current block in the chain were we are writing.
+ int current_is_writable_;
+ // Is the current block writable. When we steal a buffer from the
+ // user and just chain it into the message block we are not supposed
+ // to write on it, even if it is past the start and end of the
+ // buffer.
+
+ size_t current_alignment_;
+ // The current alignment as measured from the start of the buffer.
+ // Usually this coincides with the alignment of the buffer in
+ // memory, but, when we chain another buffer this "quasi invariant"
+ // is broken.
+ // The current_alignment is used to readjust the buffer following
+ // the stolen message block.
+
int do_byte_swap_;
// If not zero swap bytes at writing so the created CDR stream byte
// order does *not* match the machine byte order. The motivation