FreeFOAM The Cross-Platform CFD Toolkit
IPstreamImpl Class Reference

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>


Detailed Description

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.

Source files

Definition at line 64 of file IPstreamImpl.H.

+ Inheritance diagram for IPstreamImpl:

List of all members.

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< IPstreamImplNew ()
 Return a reference to the selected IPstreamImpl implementation.

Constructor & Destructor Documentation

IPstreamImpl ( )
inline

Construct null.

Definition at line 98 of file IPstreamImpl.H.

virtual ~IPstreamImpl ( )
inlinevirtual

Definition at line 102 of file IPstreamImpl.H.


Member Function Documentation

TypeName ( "IPstreamImpl"  )
declareRunTimeSelectionTable ( autoPtr  ,
IPstreamImpl  ,
dictionary  ,
()  ,
()   
)
Foam::autoPtr< Foam::IPstreamImpl > New ( )
static

Return a reference to the selected IPstreamImpl implementation.

Definition at line 46 of file IPstreamImpl.C.

virtual void init ( const PstreamImpl::commsTypes  commsType,
const label  bufSize,
int &  fromProcNo,
label &  messageSize,
List< char > &  buf 
)
pure virtual

Initialization.

Implemented in dummyIPstreamImpl, and mpiIPstreamImpl.

virtual label read ( const PstreamImpl::commsTypes  commsType,
const int  fromProcNo,
char *  buf,
const std::streamsize  bufSize 
)
pure virtual

Read into given buffer from given processor and return the.

message size

Implemented in dummyIPstreamImpl, and mpiIPstreamImpl.

Referenced by IPstream::read().

virtual void waitRequests ( )
pure virtual

Non-blocking receives: wait until all have finished.

Implemented in dummyIPstreamImpl, and mpiIPstreamImpl.

Referenced by IPstream::waitRequests().

virtual bool finishedRequest ( const label  i)
pure virtual

Non-blocking receives: has request i finished?

Implemented in dummyIPstreamImpl, and mpiIPstreamImpl.

Referenced by IPstream::finishedRequest().


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