Program Listing for File Buffer.cpp
↰ Return to documentation for file (BackendLibfabric/Buffer.cpp
)
#include "Buffer.hpp"
#include <set>
std::vector<std::uint64_t> netio3::libfabric::HeaderBuffer::get_pending_sends()
{
std::set<std::uint64_t> indices{};
std::ranges::generate_n(std::inserter(indices, indices.end()), ZERO_COPY_NUM_HEADER_SLOTS, [i = 0]() mutable { return i++; });
std::size_t index_available{};
while(m_available_header_buffers.try_pop(index_available))
{
indices.erase(index_available);
}
std::vector<std::uint64_t> keys{};
std::ranges::transform(
indices, std::back_inserter(keys), [this](std::size_t index_not_available) {
return m_keys[index_not_available];
});
return keys;
}