diff --git a/Kernel/KBuffer.h b/Kernel/KBuffer.h index 71f71bbb66..12ccea616e 100644 --- a/Kernel/KBuffer.h +++ b/Kernel/KBuffer.h @@ -11,6 +11,7 @@ // severely limited kmalloc heap. #include +#include #include #include @@ -35,6 +36,12 @@ public: size_t size() const { return m_size; } size_t capacity() const { return m_region->size(); } + void set_size(size_t size) + { + ASSERT(size <= capacity()); + m_size = size; + } + private: explicit KBufferImpl(NonnullRefPtr&& region, size_t size) : m_size(size) @@ -63,6 +70,8 @@ public: size_t size() const { return m_impl->size(); } size_t capacity() const { return m_impl->size(); } + void set_size(size_t size) { m_impl->set_size(size); } + const KBufferImpl& impl() const { return m_impl; } KBuffer(const ByteBuffer& buffer) @@ -78,3 +87,8 @@ private: NonnullRefPtr m_impl; }; + +inline const LogStream& operator<<(const LogStream& stream, const KBuffer& value) +{ + return stream << StringView(value.data(), value.size()); +}