Abstract base class for IPstream operations that depend on the parallel library used. Foam::IPstreamImpl::New will lookup the entry "PstreamImplementation" in the global controlDict file (i.e. the one found by Foam::dotFoam) and tries to first load a library named lib<PstreamImplementation>Pstream.so, and then instantiate the class <PstreamImplementation>IPstreamImpl. More...
#include <OpenFOAM/IPstreamImpl.H>
Abstract base class for IPstream operations that depend on the parallel library used. Foam::IPstreamImpl::New will lookup the entry "PstreamImplementation" in the global controlDict file (i.e. the one found by Foam::dotFoam) and tries to first load a library named lib<PstreamImplementation>Pstream.so, and then instantiate the class <PstreamImplementation>IPstreamImpl.
Definition at line 64 of file IPstreamImpl.H.
Public Member Functions | |
TypeName ("IPstreamImpl") | |
declareRunTimeSelectionTable (autoPtr, IPstreamImpl, dictionary,(),()) | |
IPstreamImpl () | |
Construct null. | |
virtual | ~IPstreamImpl () |
virtual void | init (const PstreamImpl::commsTypes commsType, const label bufSize, int &fromProcNo, label &messageSize, List< char > &buf)=0 |
Initialization. | |
virtual label | read (const PstreamImpl::commsTypes commsType, const int fromProcNo, char *buf, const std::streamsize bufSize)=0 |
Read into given buffer from given processor and return the. | |
virtual void | waitRequests ()=0 |
Non-blocking receives: wait until all have finished. | |
virtual bool | finishedRequest (const label i)=0 |
Non-blocking receives: has request i finished? |
Static Public Member Functions | |
static autoPtr< IPstreamImpl > | New () |
Return a reference to the selected IPstreamImpl implementation. |
|
inline |
Construct null.
Definition at line 98 of file IPstreamImpl.H.
|
inlinevirtual |
Definition at line 102 of file IPstreamImpl.H.
TypeName | ( | "IPstreamImpl" | ) |
declareRunTimeSelectionTable | ( | autoPtr | , |
IPstreamImpl | , | ||
dictionary | , | ||
() | , | ||
() | |||
) |
|
static |
Return a reference to the selected IPstreamImpl implementation.
Definition at line 46 of file IPstreamImpl.C.
|
pure virtual |
Initialization.
Implemented in dummyIPstreamImpl, and mpiIPstreamImpl.
|
pure virtual |
Read into given buffer from given processor and return the.
message size
Implemented in dummyIPstreamImpl, and mpiIPstreamImpl.
Referenced by IPstream::read().
|
pure virtual |
Non-blocking receives: wait until all have finished.
Implemented in dummyIPstreamImpl, and mpiIPstreamImpl.
Referenced by IPstream::waitRequests().
|
pure virtual |
Non-blocking receives: has request i finished?
Implemented in dummyIPstreamImpl, and mpiIPstreamImpl.
Referenced by IPstream::finishedRequest().