summaryrefslogtreecommitdiff
path: root/cppe/src/IceE/BasicStream.cpp
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2006-01-04 16:18:04 +0000
committerDwayne Boone <dwayne@zeroc.com>2006-01-04 16:18:04 +0000
commit5a38962d977b5c6786cec61cd79b7c9dbe6c65ab (patch)
tree77349fdef23a7a869b617863c558ef281899ae63 /cppe/src/IceE/BasicStream.cpp
parentAdded IceGrid.Node.DisableOnFailure (diff)
downloadice-5a38962d977b5c6786cec61cd79b7c9dbe6c65ab.tar.bz2
ice-5a38962d977b5c6786cec61cd79b7c9dbe6c65ab.tar.xz
ice-5a38962d977b5c6786cec61cd79b7c9dbe6c65ab.zip
Added zero copy byte sequence read function
Diffstat (limited to 'cppe/src/IceE/BasicStream.cpp')
-rw-r--r--cppe/src/IceE/BasicStream.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/cppe/src/IceE/BasicStream.cpp b/cppe/src/IceE/BasicStream.cpp
index ca009bf3a8a..fe4f4517535 100644
--- a/cppe/src/IceE/BasicStream.cpp
+++ b/cppe/src/IceE/BasicStream.cpp
@@ -620,6 +620,24 @@ IceInternal::BasicStream::readBlob(Ice::Byte* v, Container::size_type sz)
}
void
+IceInternal::BasicStream::read(pair<const Byte*, const Byte*>& v)
+{
+ Int sz;
+ readSize(sz);
+ if(sz > 0)
+ {
+ checkFixedSeq(sz, 1);
+ v.first = i;
+ v.second = i + sz;
+ i += sz;
+ }
+ else
+ {
+ v.first = v.second = i;
+ }
+}
+
+void
IceInternal::BasicStream::read(vector<Byte>& v)
{
Int sz;