IBAMR  IBAMR version 0.19.
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
IBTK::LTransaction< T > Class Template Reference

Class LTransaction represents a communication transaction between two processors or a local data copy for communicating or copying Lagrangian objects. More...

#include <ibtk/LTransaction.h>

Inheritance diagram for IBTK::LTransaction< T >:
Inheritance graph
[legend]

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. More...
 
 LTransaction (int src_proc, int dst_proc, std::vector< LTransactionComponent > src_item_set)
 Class constructor. More...
 
virtual ~LTransaction ()=default
 The virtual destructor for the copy transaction releases all memory associated with the transaction. More...
 
const std::vector< LTransactionComponent > & getSourceData () const
 Return a constant reference to the source data. More...
 
const std::vector< LTransactionComponent > & getDestinationData () const
 Return a constant reference to the destination data. More...
 
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. More...
 
virtual int getSourceProcessor () override
 Return the sending processor number for the communications transaction. More...
 
virtual int getDestinationProcessor () override
 Return the receiving processor number for the communications transaction. More...
 
virtual void packStream (SAMRAI::tbox::AbstractStream &stream) override
 Pack the transaction data into the message stream. More...
 
virtual void unpackStream (SAMRAI::tbox::AbstractStream &stream) override
 Unpack the transaction data from the message stream. More...
 
virtual void copyLocalData () override
 Perform the local data copy for the transaction. More...
 
virtual void printClassData (std::ostream &stream) const override
 Print out transaction information. More...
 

Private Member Functions

 LTransaction ()=delete
 Default constructor. More...
 
 LTransaction (const LTransaction &from)=delete
 Copy constructor. More...
 
void operator= (const LTransaction &that)=delete
 Assignment operator. More...
 

Private Attributes

std::vector< LTransactionComponentd_src_item_set
 
int d_src_proc
 
int d_outgoing_bytes = 0
 
std::vector< LTransactionComponentd_dst_item_set
 
int d_dst_proc
 

Detailed Description

template<class T>
class IBTK::LTransaction< T >

See also
SAMRAI::tbox::Schedule
SAMRAI::tbox::Transaction

Constructor & Destructor Documentation

◆ LTransaction() [1/4]

template<class T >
IBTK::LTransaction< T >::LTransaction ( int  src_proc,
int  dst_proc 
)

◆ LTransaction() [2/4]

template<class T >
IBTK::LTransaction< T >::LTransaction ( int  src_proc,
int  dst_proc,
std::vector< LTransactionComponent src_item_set 
)

◆ ~LTransaction()

template<class T >
virtual IBTK::LTransaction< T >::~LTransaction ( )
virtualdefault

◆ LTransaction() [3/4]

template<class T >
IBTK::LTransaction< T >::LTransaction ( )
privatedelete
Note
This constructor is not implemented and should not be used.

◆ LTransaction() [4/4]

template<class T >
IBTK::LTransaction< T >::LTransaction ( const LTransaction< T > &  from)
privatedelete
Note
This constructor is not implemented and should not be used.
Parameters
fromThe value to copy to this object.

Member Function Documentation

◆ getSourceData()

template<class T >
const std::vector<LTransactionComponent>& IBTK::LTransaction< T >::getSourceData ( ) const
inline

◆ getDestinationData()

template<class T >
const std::vector<LTransactionComponent>& IBTK::LTransaction< T >::getDestinationData ( ) const
inline

◆ canEstimateIncomingMessageSize()

template<class T >
virtual bool IBTK::LTransaction< T >::canEstimateIncomingMessageSize ( )
overridevirtual

If this evaluates to false, then a different communication protocol kicks in and the message size is transmitted between sides.

Implements SAMRAI::tbox::Transaction.

◆ computeIncomingMessageSize()

template<class T >
virtual int IBTK::LTransaction< T >::computeIncomingMessageSize ( )
overridevirtual

This routine is only called if the transaction can estimate the size of the incoming message.

See also
canEstimateIncomingMessageSize()

Implements SAMRAI::tbox::Transaction.

◆ computeOutgoingMessageSize()

template<class T >
virtual int IBTK::LTransaction< T >::computeOutgoingMessageSize ( )
overridevirtual

◆ getSourceProcessor()

template<class T >
virtual int IBTK::LTransaction< T >::getSourceProcessor ( )
overridevirtual

◆ getDestinationProcessor()

template<class T >
virtual int IBTK::LTransaction< T >::getDestinationProcessor ( )
overridevirtual

◆ packStream()

template<class T >
virtual void IBTK::LTransaction< T >::packStream ( SAMRAI::tbox::AbstractStream stream)
overridevirtual

◆ unpackStream()

template<class T >
virtual void IBTK::LTransaction< T >::unpackStream ( SAMRAI::tbox::AbstractStream stream)
overridevirtual

◆ copyLocalData()

template<class T >
virtual void IBTK::LTransaction< T >::copyLocalData ( )
overridevirtual

◆ printClassData()

template<class T >
virtual void IBTK::LTransaction< T >::printClassData ( std::ostream &  stream) const
overridevirtual

◆ operator=()

template<class T >
void IBTK::LTransaction< T >::operator= ( const LTransaction< T > &  that)
privatedelete
Note
This operator is not implemented and should not be used.
Parameters
thatThe value to assign to this object.
Returns
A reference to this object.

Member Data Documentation

◆ d_src_item_set

template<class T >
std::vector<LTransactionComponent> IBTK::LTransaction< T >::d_src_item_set
private

◆ d_src_proc

template<class T >
int IBTK::LTransaction< T >::d_src_proc
private

◆ d_outgoing_bytes

template<class T >
int IBTK::LTransaction< T >::d_outgoing_bytes = 0
private

◆ d_dst_item_set

template<class T >
std::vector<LTransactionComponent> IBTK::LTransaction< T >::d_dst_item_set
private

◆ d_dst_proc

template<class T >
int IBTK::LTransaction< T >::d_dst_proc
private

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