From: Jesse F. Williamson Date: Mon, 9 Feb 2026 18:12:54 +0000 (-0800) Subject: add size() member function to buffer::list X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=60b3f129e2a42b0121ec0e5921b26bcef050d92f;p=ceph-ci.git add size() member function to buffer::list Mostly to allow use with std::size(). Signed-off-by: Jesse F. Williamson --- diff --git a/src/include/buffer.h b/src/include/buffer.h index 1f1604e43bc..517b76bfdfa 100644 --- a/src/include/buffer.h +++ b/src/include/buffer.h @@ -1006,6 +1006,7 @@ struct error_code; const buffers_t& buffers() const { return _buffers; } buffers_t& mut_buffers() { return _buffers; } void swap(list& other) noexcept; + unsigned length() const { #if 0 // DEBUG: verify _len @@ -1023,6 +1024,11 @@ struct error_code; #endif return _len; } + + // Allow use with std::size(); like std::string, this is the same as length(): + unsigned size() const { + return length(); + } bool contents_equal(const buffer::list& other) const; bool contents_equal(const void* other, size_t length) const; diff --git a/src/test/bufferlist.cc b/src/test/bufferlist.cc index ba83f532934..3d8b3f81822 100644 --- a/src/test/bufferlist.cc +++ b/src/test/bufferlist.cc @@ -2316,9 +2316,11 @@ TEST(BufferList, append_zero) { bl.append('A'); EXPECT_EQ((unsigned)1, bl.get_num_buffers()); EXPECT_EQ((unsigned)1, bl.length()); + EXPECT_EQ(bl.size(), bl.length()); bl.append_zero(1); EXPECT_EQ((unsigned)1, bl.get_num_buffers()); EXPECT_EQ((unsigned)2, bl.length()); + EXPECT_EQ(bl.size(), bl.length()); EXPECT_EQ('\0', bl[1]); } @@ -2407,8 +2409,10 @@ TEST(BufferList, splice) { bl.splice(4, 4, &other); EXPECT_EQ((unsigned)3, other.get_num_buffers()); EXPECT_EQ((unsigned)5, other.length()); + EXPECT_EQ(other.size(), other.length()); EXPECT_EQ(0, ::memcmp("XEFGH", other.c_str(), other.length())); EXPECT_EQ((unsigned)8, bl.length()); + EXPECT_EQ(bl.size(), bl.length()); { bufferlist tmp(bl); EXPECT_EQ(0, ::memcmp("ABCDIJKL", tmp.c_str(), tmp.length())); @@ -2416,6 +2420,7 @@ TEST(BufferList, splice) { bl.splice(4, 4); EXPECT_EQ((unsigned)4, bl.length()); + EXPECT_EQ(bl.size(), bl.length()); EXPECT_EQ(0, ::memcmp("ABCD", bl.c_str(), bl.length())); { @@ -2428,6 +2433,9 @@ TEST(BufferList, splice) { bl.splice(10, 4, &other); EXPECT_EQ((unsigned)11, bl.length()); EXPECT_EQ(0, ::memcmp("fghi", other.c_str(), other.length())); + + EXPECT_EQ(bl.size(), bl.length()); + EXPECT_EQ(other.size(), other.length()); } } @@ -2507,6 +2515,7 @@ TEST(BufferList, read_fd) { EXPECT_EQ(len, (unsigned)bl.read_fd(fd, len)); //EXPECT_EQ(CEPH_BUFFER_APPEND_SIZE - len, bl.front().unused_tail_length()); EXPECT_EQ(len, bl.length()); + EXPECT_EQ(bl.size(), bl.length()); ::close(fd); ::unlink(FILENAME); } @@ -2904,6 +2913,8 @@ TEST(BufferList, InternalCarriage) { EXPECT_EQ(bl_with_foo.length(), 3u); EXPECT_EQ(bl_with_foo.get_num_buffers(), 1u); + EXPECT_EQ(bl_with_foo.size(), bl_with_foo.length()); + bl.append(bl_with_foo); EXPECT_EQ(bl.get_num_buffers(), 2u); } @@ -2940,8 +2951,10 @@ TEST(BufferList, ContiguousAppender) { denc(int64_t(24), ap); EXPECT_EQ(bl.get_num_buffers(), 3u); EXPECT_EQ(bl.length(), sizeof(int64_t) + 3u); + EXPECT_EQ(bl.size(), bl.length()); } EXPECT_EQ(bl.length(), 2u * sizeof(int64_t) + 3u); + EXPECT_EQ(bl.size(), bl.length()); } TEST(BufferList, TestPtrAppend) { @@ -2997,6 +3010,7 @@ TEST(BufferList, TestCopyAll) { bufferlist::iterator i = bl.begin(); bufferlist bl2; i.copy_all(bl2); + ASSERT_EQ(bl2.size(), BIG_SZ); ASSERT_EQ(bl2.length(), BIG_SZ); std::shared_ptr big2( (unsigned char*)malloc(BIG_SZ), free);