diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-03-01 00:45:49 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-03-01 00:45:49 +0000 |
commit | 5132021f59c37082bb0ac2d682020dd37d867378 (patch) | |
tree | 0599ef1d31c312cffd152e295b0efdeb218138f2 /ace/CDR_Stream.h | |
parent | dce560680c2da0c2e30b70e4944f5f8ad8f202c8 (diff) | |
download | ATCD-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.h | 19 |
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 |