38void Foam::UIPstream::bufferIPCrecv()
43 Pout<<
"UIPstream IPC read buffer :"
73 Pout<<
"UIPstream::UIPstream : probed size:"
102 const commsTypes commsType,
103 const int fromProcNo,
105 const std::streamsize bufSize,
107 const label communicator
112 Pout<<
"UIPstream::read : starting read from:" << fromProcNo
113 <<
" tag:" << tag <<
" comm:" << communicator
114 <<
" wanted size:" << label(bufSize)
120 Pout<<
"UIPstream::read : starting read from:" << fromProcNo
121 <<
" tag:" << tag <<
" comm:" << communicator
122 <<
" wanted size:" << label(bufSize)
133 commsType == commsTypes::blocking
134 || commsType == commsTypes::scheduled
154 <<
"MPI_Recv cannot receive incoming message"
164 MPI_Get_count(&status, MPI_BYTE, &messageSize);
168 Pout<<
"UIPstream::read : finished read from:" << fromProcNo
169 <<
" tag:" << tag <<
" read size:" << label(bufSize)
174 if (messageSize > bufSize)
177 <<
"buffer (" << label(bufSize)
178 <<
") not large enough for incoming message ("
179 << messageSize <<
')'
185 else if (commsType == commsTypes::nonBlocking)
204 <<
"MPI_Irecv cannot start non-blocking receive"
214 Pout<<
"UIPstream::read : started read from:" << fromProcNo
215 <<
" tag:" << tag <<
" read size:" << label(bufSize)
228 <<
"Unsupported communications type " << int(commsType)
Useful combination of include files which define Sin, Sout and Serr and the use of IO streams general...
label capacity() const noexcept
Size of the underlying storage.
void resize(const label len)
void setEof() noexcept
Set stream state as reached 'eof'.
virtual bool read()
Re-read model coefficients if they have changed.
DynamicList< char > & recvBuf_
T * data() noexcept
Return pointer to the underlying array serving as data storage.
static label warnComm
Debugging: warn for use of any communicator differing from warnComm.
static const Enum< commsTypes > commsTypeNames
Names of the communication types.
commsTypes commsType() const noexcept
Get the communications type of the stream.
static void printStack(Ostream &os)
Helper function to print a stack.
static void beginTiming()
Update timer prior to measurement.
static void addWaitTime()
Add time increment to waitTime.
static void addGatherTime()
Add time increment to gatherTime.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
DynamicList< MPI_Request > outstandingRequests_
Outstanding non-blocking operations.
DynamicList< MPI_Comm > MPICommunicators_
Ostream & endl(Ostream &os)
Add newline and flush stream.
errorManip< error > abort(error &err)
prefixOSstream Pout
OSstream wrapped stdout (std::cout) with parallel prefix.