1.8: Simplified item metadata reading.

master
Howaner 2014-09-18 16:04:03 +02:00
parent 3ee211bbba
commit be6d4a5912
3 changed files with 3 additions and 27 deletions

View File

@ -822,23 +822,6 @@ bool cByteBuffer::SkipRead(size_t a_Count)
bool cByteBuffer::ReverseRead(size_t a_Count)
{
CHECK_THREAD;
CheckValid();
if (m_ReadPos < a_Count)
{
return false;
}
m_ReadPos -= a_Count;
return true;
}
void cByteBuffer::ReadAll(AString & a_Data)
{
CHECK_THREAD;

View File

@ -107,9 +107,6 @@ public:
/** Skips reading by a_Count bytes; returns false if not enough bytes in the ringbuffer */
bool SkipRead(size_t a_Count);
/** Reverse reading by a_Count bytes; returns false if not enough readed bytes in the ringbuffer */
bool ReverseRead(size_t a_Count);
/** Reads all available data into a_Data */
void ReadAll(AString & a_Data);

View File

@ -2497,17 +2497,13 @@ bool cProtocol180::ReadItem(cByteBuffer & a_ByteBuffer, cItem & a_Item)
a_Item.Empty();
}
HANDLE_PACKET_READ(a_ByteBuffer, ReadChar, char, FirstChar);
if (FirstChar == 0)
AString Metadata;
a_ByteBuffer.ReadAll(Metadata);
if ((Metadata.size() == 0) || (Metadata[0] == 0))
{
// No metadata
return true;
}
a_ByteBuffer.ReverseRead(1);
// Read the metadata
AString Metadata;
a_ByteBuffer.ReadAll(Metadata);
ParseItemMetadata(a_Item, Metadata);
return true;