From 3ae8ba2922b0ff3ed1f4cb81834140e9711fc51d Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 6 Jul 2015 15:53:26 -0700 Subject: [PATCH] add segment calls to PacketList --- libraries/networking/src/PacketList.cpp | 4 +++- libraries/networking/src/PacketList.h | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libraries/networking/src/PacketList.cpp b/libraries/networking/src/PacketList.cpp index 94280e752d..3dcdf5a799 100644 --- a/libraries/networking/src/PacketList.cpp +++ b/libraries/networking/src/PacketList.cpp @@ -77,6 +77,8 @@ qint64 writeData(const char* data, qint64 maxSize) { // set our current packet to the new packet _currentPacket = newPacket; + // return the number of bytes written to the new packet + return maxSize; } else { // we're an ordered PacketList - let's fit what we can into the current packet and then put the leftover // into a new packet @@ -89,7 +91,7 @@ qint64 writeData(const char* data, qint64 maxSize) { _packets.insert(std::move(_currentPacket)); // recursively call our writeData method for the remaining data to write to a new packet - writeData(data + numBytesToEnd, maxSize - numBytesToEnd); + return numBytesToEnd + writeData(data + numBytesToEnd, maxSize - numBytesToEnd); } } } diff --git a/libraries/networking/src/PacketList.h b/libraries/networking/src/PacketList.h index 712ff41438..3fffb328d2 100644 --- a/libraries/networking/src/PacketList.h +++ b/libraries/networking/src/PacketList.h @@ -20,6 +20,8 @@ public: virtual bool isSequential() const { return true; } + void startSegment() { _segmentStartIndex = currentPacket->payload().pos(); } + void endSegment() { _segmentStartIndex = -1; } protected: qint64 writeData(const char* data, qint64 maxSize); qint64 readData(const char* data, qint64 maxSize) { return 0 };