HydroCouple  2.0.0-alpha.1
HydroCouple Interface Definitions
Loading...
Searching...
No Matches
HydroCouple::Distributed::IExchangeRequest Class Referenceabstract

IExchangeRequest is a handle to an asynchronous communication operation. More...

#include <hydrocoupledistributed.h>

Collaboration diagram for HydroCouple::Distributed::IExchangeRequest:

Public Member Functions

virtual ~IExchangeRequest ()=default
 IExchangeRequest::~IExchangeRequest is a virtual destructor. Destroying an incomplete request cancels it if the implementation supports cancellation, otherwise blocks until completion.
 
virtual bool test ()=0
 Non-blocking completion test.
 
virtual void wait ()=0
 Blocks until the operation completes.
 
virtual bool failed (std::string &message) const =0
 Checks whether the operation completed with an error.
 

Detailed Description

IExchangeRequest is a handle to an asynchronous communication operation.

Returned by the asynchronous ITransport operations and by IPartitionedComponentDataItem::synchronizeAsync(). Completion machinery (progress threads, transport polling) is owned by the implementing SDK; consumers only test or wait.

Constructor & Destructor Documentation

◆ ~IExchangeRequest()

virtual HydroCouple::Distributed::IExchangeRequest::~IExchangeRequest ( )
virtualdefault

IExchangeRequest::~IExchangeRequest is a virtual destructor. Destroying an incomplete request cancels it if the implementation supports cancellation, otherwise blocks until completion.

Member Function Documentation

◆ failed()

virtual bool HydroCouple::Distributed::IExchangeRequest::failed ( std::string & message) const
nodiscardpure virtual

Checks whether the operation completed with an error.

Parameters
[out]messagedescribes the failure when the return value is true.
Returns
True if the operation failed.

◆ test()

virtual bool HydroCouple::Distributed::IExchangeRequest::test ( )
nodiscardpure virtual

Non-blocking completion test.

Returns
True if the operation has completed (successfully or not).

◆ wait()

virtual void HydroCouple::Distributed::IExchangeRequest::wait ( )
pure virtual

Blocks until the operation completes.


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