99#ifndef Foam_PstreamBuffers_H
100#define Foam_PstreamBuffers_H
128 bool finishedSendsCalled_;
131 bool allowClearRecv_;
159 void finalExchange(
labelList& recvSizes,
const bool wait);
173 void finalExchangeGatherScatter(
const bool isGather,
const bool wait);
237 return recvBufPos_.
size();
260 return finishedSendsCalled_;
267 return allowClearRecv_;
347 const bool wait =
true
366 const bool wait =
true
385 const bool wait =
true
401 const bool wait =
true
421 const bool wait =
true
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
streamFormat
Data format (ascii | binary)
An interval of (signed) integers defined by a start and a size.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Buffers for inter-processor communications streams (UOPstream, UIPstream).
label sendDataCount(const label proci) const
Number of send bytes for the specified processor.
const UList< char > peekRecvData(const label proci) const
UPstream::rangeType allProcs() const noexcept
Range of ranks indices associated with PstreamBuffers.
UPstream::commsTypes commsType() const noexcept
The communications type of the stream.
bool finished() const noexcept
True if finishedSends() or finishedNeighbourSends() has been called.
bool allowClearRecv() const noexcept
int tag() const noexcept
The transfer message type.
label nProcs() const noexcept
Number of ranks associated with PstreamBuffers.
void clearStorage()
Clear individual buffer storage and reset states.
void clearRecv(const label proci)
Clear an individual receive buffer (eg, data not required)
bool hasSendData() const
True if any (local) send buffers have data.
void finishedScatters(const bool wait=true)
Mark all sends to sub-procs as done.
labelList recvDataCounts() const
label recvDataCount(const label proci) const
void finishedSends(const bool wait=true)
Mark sends as done.
label comm() const noexcept
Communicator.
void clear()
Clear individual buffers and reset states.
void finishedNeighbourSends(const labelUList &neighProcs, const bool wait=true)
void finishedGathers(const bool wait=true)
Mark all sends to master as done.
~PstreamBuffers()
Destructor - checks that all data have been consumed.
UPstream::rangeType subProcs() const noexcept
Range of sub-processes indices associated with PstreamBuffers.
IOstreamOption::streamFormat format() const noexcept
The associated buffer format (ascii | binary)
Base class for input inter-processor communications stream (ie, parallel streams)....
void size(const label n)
Older name for setAddressableSize.
Base class for output inter-processor communications stream (ie, parallel streams)....
commsTypes
Types of communications.
static int & msgType() noexcept
Message tag of standard messages.
static label worldComm
Default communicator (all processors)
IntRange< int > rangeType
Int ranges are used for MPI ranks (processes)
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
List< label > labelList
A List of labels.
UList< label > labelUList
A UList of labels.