.. _program_listing_file_BackendLibfabric_SharedBufferManager.hpp: Program Listing for File SharedBufferManager.hpp ================================================ |exhale_lsh| :ref:`Return to documentation for file ` (``BackendLibfabric/SharedBufferManager.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef NETIO3BACKEND_BACKENDLIBFABRIC_SHAREDBUFFERMANAGER_HPP #define NETIO3BACKEND_BACKENDLIBFABRIC_SHAREDBUFFERMANAGER_HPP #include "DomainManager.hpp" #include "SendBufferManager.hpp" #include "SharedReceiveContextManager.hpp" #include "ZeroCopyBufferManager.hpp" #include "netio3-backend/Netio3Backend.hpp" namespace netio3::libfabric { class SharedBufferManager { public: explicit SharedBufferManager(const NetworkConfig& config, DomainManager& domain_manager, BaseEventLoop* event_loop); [[nodiscard]] const std::optional& get_receive_context_manager() const { return m_receive_context_manager; } [[nodiscard]] std::optional& get_receive_context_manager() { return m_receive_context_manager; } [[nodiscard]] const std::optional& get_send_buffer_manager() const { return m_send_buffer_manager; } [[nodiscard]] std::optional& get_send_buffer_manager() { return m_send_buffer_manager; } [[nodiscard]] const std::optional& get_zero_copy_buffer_manager() const { return m_zero_copy_buffer_manager; } [[nodiscard]] std::optional& get_zero_copy_buffer_manager() { return m_zero_copy_buffer_manager; } private: [[nodiscard]] std::optional create_shared_receive_context( const NetworkConfig& config, DomainManager& domain_manager, BaseEventLoop* event_loop); [[nodiscard]] std::optional create_send_buffer_manager( const NetworkConfig& config, DomainManager& domain_manager); [[nodiscard]] std::optional create_zero_copy_buffer_manager( const NetworkConfig& config, DomainManager& domain_manager); std::optional m_receive_context_manager{}; std::optional m_send_buffer_manager{}; std::optional m_zero_copy_buffer_manager{}; }; } // namespace netio3::libfabric #endif // NETIO3BACKEND_BACKENDLIBFABRIC_SHAREDBUFFERMANAGER_HPP