67 MPI_Probe(Pstream::procID(fromProcNo), Pstream::msgType(), MPI_COMM_WORLD, &status);
68 MPI_Get_count(&status, MPI_BYTE, &messageSize);
73 messageSize = read(commsType, fromProcNo, buf.
begin(), buf.
size());
79 "mpiIPstreamImpl::mpiIPstreamImpl(const commsTypes commsType, const label bufSize, "
80 "const int fromProcNo, label& messageSize, List<char>& buf)"
92 const std::streamsize bufSize
95 if (commsType == PstreamImpl::blocking || commsType == PstreamImpl::scheduled)
106 Pstream::procID(fromProcNo),
115 "mpiIPstreamImpl::read"
116 "(const int fromProcNo, char* buf, std::streamsize bufSize)"
117 ) <<
"MPI_Recv cannot receive incoming message"
127 MPI_Get_count(&status, MPI_BYTE, &messageSize);
129 if (messageSize > bufSize)
133 "mpiIPstreamImpl::read"
134 "(const int fromProcNo, char* buf, std::streamsize bufSize)"
135 ) <<
"buffer (" << label(bufSize)
136 <<
") not large enough for incoming message ("
137 << messageSize <<
')'
143 else if (commsType == PstreamImpl::nonBlocking)
154 Pstream::procID(fromProcNo),
163 "mpiIPstreamImpl::read"
164 "(const int fromProcNo, char* buf, std::streamsize bufSize)"
165 ) <<
"MPI_Recv cannot start non-blocking receive"
179 "mpiIPstreamImpl::read"
180 "(const int fromProcNo, char* buf, std::streamsize bufSize)"
181 ) <<
"Unsupported communications type " << commsType
205 "mpiIPstreamImpl::waitRequests()"
206 ) <<
"MPI_Waitall returned with error" <<
endl;
220 "mpiIPstreamImpl::finishedRequest(const label)"
223 <<
" outstanding send requests and you are asking for i=" << i
225 <<
"Maybe you are mixing blocking/non-blocking comms?"