libucxx  0.37.00
All Classes Namespaces Functions Variables Typedefs Enumerations Friends
Public Member Functions | Protected Member Functions | List of all members
ucxx::RequestDelayedSubmissionCollection Class Reference

A collection of delayed request submissions. More...

#include <delayed_submission.h>

Inheritance diagram for ucxx::RequestDelayedSubmissionCollection:
ucxx::BaseDelayedSubmissionCollection< std::pair< std::shared_ptr< Request >, DelayedSubmissionCallbackType > >

Public Member Functions

 RequestDelayedSubmissionCollection (const std::string name, const bool enabled)
 Constructor of a collection of delayed request submissions. More...
 
- Public Member Functions inherited from ucxx::BaseDelayedSubmissionCollection< std::pair< std::shared_ptr< Request >, DelayedSubmissionCallbackType > >
 BaseDelayedSubmissionCollection (const std::string name, const bool enabled)
 Constructor for a thread-safe delayed submission collection. More...
 
 BaseDelayedSubmissionCollection (const BaseDelayedSubmissionCollection &)=delete
 
 BaseDelayedSubmissionCollection (BaseDelayedSubmissionCollection &&o)=delete
 
BaseDelayedSubmissionCollectionoperator= (BaseDelayedSubmissionCollection const &)=delete
 
BaseDelayedSubmissionCollectionoperator= (BaseDelayedSubmissionCollection &&o)=delete
 
virtual void schedule (std::pair< std::shared_ptr< Request >, DelayedSubmissionCallbackType > item)
 Register a callable or complex-type for delayed submission. More...
 
void process ()
 Process all pending callbacks. More...
 

Protected Member Functions

void scheduleLog (std::pair< std::shared_ptr< Request >, DelayedSubmissionCallbackType > item) override
 Log message during schedule(). More...
 
void processItem (std::pair< std::shared_ptr< Request >, DelayedSubmissionCallbackType > item) override
 Process a single item during process(). More...
 

Additional Inherited Members

- Protected Attributes inherited from ucxx::BaseDelayedSubmissionCollection< std::pair< std::shared_ptr< Request >, DelayedSubmissionCallbackType > >
std::string _name
 The human-readable name of the collection, used for logging.
 
bool _enabled
 Whether the resource required to process the collection is enabled.
 
std::vector< std::pair< std::shared_ptr< Request >, DelayedSubmissionCallbackType > > _collection
 The collection.
 
std::mutex _mutex
 Mutex to provide access to _collection.
 

Detailed Description

A collection of delayed request submissions.

A collection of delayed submissions used specifically for message transfer ucxx::Request submissions.

Constructor & Destructor Documentation

◆ RequestDelayedSubmissionCollection()

ucxx::RequestDelayedSubmissionCollection::RequestDelayedSubmissionCollection ( const std::string  name,
const bool  enabled 
)
explicit

Constructor of a collection of delayed request submissions.

Construct a collection of delayed submissions used specifically for message transfer ucxx::Request submissions.

Parameters
[in]namethe human-readable name of the type of delayed submission for debugging purposes.
[in]enabledwhether delayed request submissions should be enabled.

Member Function Documentation

◆ processItem()

void ucxx::RequestDelayedSubmissionCollection::processItem ( std::pair< std::shared_ptr< Request >, DelayedSubmissionCallbackType item)
overrideprotectedvirtual

Process a single item during process().

Method called by process() to process a single item of the collection.

Parameters
[in]itemthe callback that was passed as argument to schedule() when the first registered.

Implements ucxx::BaseDelayedSubmissionCollection< std::pair< std::shared_ptr< Request >, DelayedSubmissionCallbackType > >.

◆ scheduleLog()

void ucxx::RequestDelayedSubmissionCollection::scheduleLog ( std::pair< std::shared_ptr< Request >, DelayedSubmissionCallbackType item)
overrideprotectedvirtual

Log message during schedule().

Log a specialized message while schedule() is being executed.

Parameters
[in]itemthe callback that was passed as argument to schedule().

Implements ucxx::BaseDelayedSubmissionCollection< std::pair< std::shared_ptr< Request >, DelayedSubmissionCallbackType > >.


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