diff options
Diffstat (limited to 'source/modules/asura-utils/io/data_buffer.h')
-rw-r--r-- | source/modules/asura-utils/io/data_buffer.h | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/source/modules/asura-utils/io/data_buffer.h b/source/modules/asura-utils/io/data_buffer.h index 445bdf4..61d158b 100644 --- a/source/modules/asura-utils/io/data_buffer.h +++ b/source/modules/asura-utils/io/data_buffer.h @@ -22,17 +22,33 @@ namespace AsuraEngine LUAX_DECL_FACTORY(DataBuffer); DataBuffer(DataBuffer& src); - DataBuffer(std::size_t size); + DataBuffer(std::size_t capacity); DataBuffer(const void* bytes, std::size_t size); ~DataBuffer(); byte* GetData(); size_t GetSize(); - - void Refactor(size_t size); - size_t Load(DataBuffer& db); - size_t Load(const void* bytes, std::size_t size); + size_t GetCapacity(); + + /// + /// + /// + void Refactor(size_t capacity); + + /// + /// Դ˻ + /// + void Load(DataBuffer& db); + void Load(const void* bytes, std::size_t size); + + /// + /// bytesӵȨcapacityΪsize + /// void Move(void* bytes, std::size_t size); + + /// + /// + /// void Clear(); void Lock(); @@ -40,14 +56,23 @@ namespace AsuraEngine private: + /// + /// Bufferַݵij + /// byte* mBytes; size_t mSize; + /// + /// Buffer + /// + size_t mCapacity; + AEThreading::Mutex mMutex; LUAX_DECL_METHOD(_New); LUAX_DECL_METHOD(_GetData); LUAX_DECL_METHOD(_GetSize); + LUAX_DECL_METHOD(_GetCapacity); LUAX_DECL_METHOD(_Refactor); LUAX_DECL_METHOD(_Load); LUAX_DECL_METHOD(_Clear); |