Loading...
Searching...
No Matches
ucxx::RequestCallbackBuilderBase< Derived > Class Template Reference

CRTP base for request builders that support completion callbacks. More...

#include <request_builder_base.h>

Inheritance diagram for ucxx::RequestCallbackBuilderBase< Derived >:
ucxx::RequestBuilderBase< Derived >

Public Member Functions

Derived & callbackFunction (RequestCallbackUserFunction fn) &
 Set the user-defined callback function to call upon completion.
Derived && callbackFunction (RequestCallbackUserFunction fn) &&
 Set the user-defined callback function on a temporary builder.
Derived & callbackData (RequestCallbackUserData data) &
 Set the user-defined data to pass to the callback function.
Derived && callbackData (RequestCallbackUserData data) &&
 Set the user-defined data to pass to the callback function on a temporary builder.
Public Member Functions inherited from ucxx::RequestBuilderBase< Derived >
 RequestBuilderBase ()=default
 Default constructor.
 RequestBuilderBase (const RequestBuilderBase &)=delete
 Copy constructor disabled to prevent duplicate request submissions.
RequestBuilderBase & operator= (const RequestBuilderBase &)=delete
 Copy assignment disabled to prevent duplicate request submissions.
 RequestBuilderBase (RequestBuilderBase &&) noexcept=default
 Move constructor.
RequestBuilderBase & operator= (RequestBuilderBase &&)=default
 Move assignment operator.
Derived & pythonFuture (bool enable=true) &
 Configure Python future support.
Derived && pythonFuture (bool enable=true) &&
 Configure Python future support on a temporary builder.

Protected Attributes

RequestCallbackUserFunction _callbackFunction {nullptr}
 User callback on completion.
RequestCallbackUserData _callbackData {nullptr}
 Data passed to callback.
Protected Attributes inherited from ucxx::RequestBuilderBase< Derived >
bool _enablePythonFuture {false}
 Enable Python future support.
bool _built {false}
 Whether build() has already been called.

Additional Inherited Members

Protected Member Functions inherited from ucxx::RequestBuilderBase< Derived >
void markBuilt ()
 Assert that build() has not been called yet, then mark as built.

Detailed Description

template<typename Derived>
class ucxx::RequestCallbackBuilderBase< Derived >

CRTP base for request builders that support completion callbacks.

Extends RequestBuilderBase with _callbackFunction / _callbackData members and their fluent setters. Used by builders for RequestTag, RequestAm, RequestMem, RequestFlush, and RequestEndpointClose.

Template Parameters
DerivedThe concrete builder type (CRTP).

Member Function Documentation

◆ callbackData() [1/2]

template<typename Derived>
Derived & ucxx::RequestCallbackBuilderBase< Derived >::callbackData ( RequestCallbackUserData data) &
inline

Set the user-defined data to pass to the callback function.

Parameters
[in]datauser-defined data passed to callbackFunction.
Returns
Reference to this builder for method chaining.

◆ callbackData() [2/2]

template<typename Derived>
Derived && ucxx::RequestCallbackBuilderBase< Derived >::callbackData ( RequestCallbackUserData data) &&
inline

Set the user-defined data to pass to the callback function on a temporary builder.

Parameters
[in]datauser-defined data passed to callbackFunction.
Returns
Rvalue reference to this builder for method chaining.

◆ callbackFunction() [1/2]

template<typename Derived>
Derived & ucxx::RequestCallbackBuilderBase< Derived >::callbackFunction ( RequestCallbackUserFunction fn) &
inline

Set the user-defined callback function to call upon completion.

Parameters
[in]fnuser-defined callback function.
Returns
Reference to this builder for method chaining.

◆ callbackFunction() [2/2]

template<typename Derived>
Derived && ucxx::RequestCallbackBuilderBase< Derived >::callbackFunction ( RequestCallbackUserFunction fn) &&
inline

Set the user-defined callback function on a temporary builder.

Parameters
[in]fnuser-defined callback function.
Returns
Rvalue reference to this builder for method chaining.

The documentation for this class was generated from the following file: