9. Constants and Limits#

9.1. Operation Limits#

  • Maximum operation size: 1 GiB per handleGetObject() or handlePutObject() call.

  • remote_buf_start and size must identify a range within the client descriptor range.

  • size + local_offset must not exceed the registered local buffer size.

  • Registered scatter-gather buffers have a maximum of 10 entries.

  • handleGetObject() and handlePutObject() fail with -EIO if the registered buffer entry count exceeds params.getMaxSge().

9.2. Poll Limits#

  • poll() caps max_events to 16.

  • poll() returns 0 when no completions are available.

9.3. Channel Limits#

  • Default number of channels/DCIs: 128.

  • Valid allocated channel IDs are in the range 0 to num_dcis - 1.

  • INVALID_CHANNEL_ID is UINT16_MAX.

9.4. Memory Requirements#

  • Server memory registration is for host memory.

  • allocHostBuffer() returns memory aligned to the system page size.

  • Application-owned host memory must remain valid until deRegisterBuffer() is called.