diff options
| author | Pieter Wuille <[email protected]> | 2013-03-24 16:52:24 +0100 |
|---|---|---|
| committer | Pieter Wuille <[email protected]> | 2013-03-29 23:56:26 +0100 |
| commit | 41b052ad87633d5a8a989c512c8710b875f2ba88 (patch) | |
| tree | 0337b36bb1ced74a3f1400d840c191f9c738dd3d /src/serialize.h | |
| parent | Some fixes to CNetMessage processing (diff) | |
| download | discoin-41b052ad87633d5a8a989c512c8710b875f2ba88.tar.xz discoin-41b052ad87633d5a8a989c512c8710b875f2ba88.zip | |
Use per-message send buffer, rather than per connection
Diffstat (limited to 'src/serialize.h')
| -rw-r--r-- | src/serialize.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/serialize.h b/src/serialize.h index f2626281c..e3d9939bc 100644 --- a/src/serialize.h +++ b/src/serialize.h @@ -789,6 +789,7 @@ struct ser_streamplaceholder +typedef std::vector<char, zero_after_free_allocator<char> > CSerializeData; /** Double ended buffer combining vector and stream-like interfaces. * @@ -798,7 +799,7 @@ struct ser_streamplaceholder class CDataStream { protected: - typedef std::vector<char, zero_after_free_allocator<char> > vector_type; + typedef CSerializeData vector_type; vector_type vch; unsigned int nReadPos; short state; @@ -1095,6 +1096,11 @@ public: ::Unserialize(*this, obj, nType, nVersion); return (*this); } + + void GetAndClear(CSerializeData &data) { + vch.swap(data); + CSerializeData().swap(vch); + } }; |