IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
|
Class LTransaction represents a communication transaction between two processors or a local data copy for communicating or copying Lagrangian objects. More...
#include </home/runner/work/IBAMR/IBAMR/ibtk/include/ibtk/LTransaction.h>
Classes | |
class | LTransactionComponent |
Struct LTransaction::LTransactionComponent encapsulates the individual data items that are communicated via class LTransaction. More... | |
Public Member Functions | |
LTransaction (int src_proc, int dst_proc) | |
Class constructor. | |
LTransaction (int src_proc, int dst_proc, std::vector< LTransactionComponent > src_item_set) | |
Class constructor. | |
virtual | ~LTransaction ()=default |
The virtual destructor for the copy transaction releases all memory associated with the transaction. | |
const std::vector< LTransactionComponent > & | getSourceData () const |
Return a constant reference to the source data. | |
const std::vector< LTransactionComponent > & | getDestinationData () const |
Return a constant reference to the destination data. | |
virtual bool | canEstimateIncomingMessageSize () override |
Return a boolean indicating whether this transaction can estimate the size of an incoming message. More... | |
virtual int | computeIncomingMessageSize () override |
Return the integer buffer space (in bytes) needed for the incoming message. More... | |
virtual int | computeOutgoingMessageSize () override |
Return the integer buffer space (in bytes) needed for the outgoing message. | |
virtual int | getSourceProcessor () override |
Return the sending processor number for the communications transaction. | |
virtual int | getDestinationProcessor () override |
Return the receiving processor number for the communications transaction. | |
virtual void | packStream (SAMRAI::tbox::AbstractStream &stream) override |
Pack the transaction data into the message stream. | |
virtual void | unpackStream (SAMRAI::tbox::AbstractStream &stream) override |
Unpack the transaction data from the message stream. | |
virtual void | copyLocalData () override |
Perform the local data copy for the transaction. | |
virtual void | printClassData (std::ostream &stream) const override |
Print out transaction information. | |
Class LTransaction represents a communication transaction between two processors or a local data copy for communicating or copying Lagrangian objects.
|
overridevirtual |
Return a boolean indicating whether this transaction can estimate the size of an incoming message.
If this evaluates to false, then a different communication protocol kicks in and the message size is transmitted between sides.
Implements SAMRAI::tbox::Transaction.
|
overridevirtual |
Return the integer buffer space (in bytes) needed for the incoming message.
This routine is only called if the transaction can estimate the size of the incoming message.
Implements SAMRAI::tbox::Transaction.