void EditSerializer::WritePersistentArray(DataField field, const CPtrArray& a) { WriteBegin(field, 0); WriteUInt32(DataField_Length, a.GetSize()); char itemName[16]; for (int i=0; i<a.GetSize(); i++) { sprintf(itemName, "[%d]", i); const Persistent_c* const p = (const Persistent_c* const)a.GetAt(i); WritePersistent(itemName, *p); } WriteEnd(); }
void NetworkBuffer::Write(const MemoryData& val) { EnsureWritableCount(val.Size()); Memory::SafeCopy(WriteBegin(), WritableCount(), val.Data(), val.Size()); HasWritten(val.Size()); }
void NetworkBuffer::Write(const byte* data, size_t len) { EnsureWritableCount(len); Memory::SafeCopy(WriteBegin(), WritableCount(), data, len); HasWritten(len); }
void NetworkBuffer::RetrieveUntil(const byte* end) { assert(ReadBegin() <= end); assert(end <= WriteBegin()); Retrieve(end - ReadBegin()); }
void EditSerializer::WritePersistent(DataField field, const Persistent_c& p) { WriteBegin(field, p.GetTypeName()); p.WriteData(*this); WriteEnd(); }