Template Function netio3::libfabric::register_buffer

Function Documentation

template<BufferConcept BufferType>
void netio3::libfabric::register_buffer(BufferType &buf, DomainManager &domain_manager, int access_flag)

Registers a buffer as a memory region.

Can be used to register both send and receive MRs (defined by access flag). Zero copy send endpoints use a dedicated buffer type with the same interface but a different underlying buffer. Therefore, the buffer type is a template argument. The domain is passed to check if too many MRs are registered for the given domain.

Throws:

LibFabricBufferError – If the buffer could not be registered or too many buffers are registered for this domain

Template Parameters:

BufferType – The type of the buffer to register (Buffer or ZeroCopyBuffer)

Parameters:
  • buf – The buffer to register

  • domain_manager – The domain manager to use for registration

  • access_flag – The access flag for the buffer (send or receive)