Class of MessageQueueTableElement. More...
#include <paraCommCPP11.h>
Public Member Functions | |
MessageQueueTableElement () | |
default constructor of MessageQueueTableElement More... | |
~MessageQueueTableElement () | |
destructor of MessageQueueTableElement More... | |
MessageQueueElement * | checkElement (int source, int datatypeId, int tag) |
check if the specified message exists or nor More... | |
MessageQueueElement * | checkElementWithTag (int tag) |
check if the specified message with tag exists or nor More... | |
MessageQueueElement * | extarctElement (bool *sentMessage, int source, int datatypeId, int tag) |
extracts a message More... | |
MessageQueueElement * | extarctElement (bool *sentMessage) |
extracts a message (This method is only for desctructor of ParaCommCPP11. No lock is necessary.) More... | |
void | enqueue (std::condition_variable &sentMsg, std::mutex &queueLockMutex, bool *sentMessage, MessageQueueElement *newElement) |
enqueue a message More... | |
MessageQueueElement * | getHead () |
getter of head More... | |
int | getSize () |
getter of size More... | |
bool | isEmpty () |
check if the queue is empty or not More... | |
void | waitMessage (std::condition_variable &sentMsg, std::mutex &queueLockMutex, bool *sentMessage) |
wait for a message coming to a queue More... | |
void | waitMessage (std::condition_variable &sentMsg, std::mutex &queueLockMutex, bool *sentMessage, int source, int tag) |
wait for a specified message coming to a queue More... | |
void | waitMessage (std::condition_variable &sentMsg, std::mutex &queueLockMutex, bool *sentMessage, int source, int datatypeId, int tag) |
wait for a specified message coming to a queue More... | |
void | waitMessage (std::condition_variable &sentMsg, std::mutex &queueLockMutex, bool *sentMessage, int source, int *tag) |
wait for a specified message coming to a queue More... | |
MessageQueueTableElement () | |
default constructor of MessageQueueTableElement More... | |
~MessageQueueTableElement () | |
destructor of MessageQueueTableElement More... | |
MessageQueueElement * | checkElement (int source, int datatypeId, int tag) |
check if the specified message exists or nor More... | |
MessageQueueElement * | checkElementWithTag (int tag) |
check if the specified message with tag exists or nor More... | |
MessageQueueElement * | extarctElement (bool *sentMessage, int source, int datatypeId, int tag) |
extracts a message More... | |
MessageQueueElement * | extarctElement (bool *sentMessage) |
extracts a message (This method is only for desctructor of ParaCommCPP11. No lock is necessary.) More... | |
void | enqueue (ConditionVariable *sentMsg, bool *sentMessage, MessageQueueElement *newElement) |
enqueue a message More... | |
MessageQueueElement * | getHead () |
getter of head More... | |
int | getSize () |
getter of size More... | |
bool | isEmpty () |
check if the queue is empty or not More... | |
void | waitMessage (ConditionVariable *sentMsg, bool *sentMessage) |
wait for a message coming to a queue More... | |
void | waitMessage (ConditionVariable *sentMsg, bool *sentMessage, int source, int datatypeId, int tag) |
wait for a specified message coming to a queue More... | |
void | waitMessage (ConditionVariable *sentMsg, bool *sentMessage, int source, int *tag) |
wait for a specified message coming to a queue More... | |
Private Attributes | |
MessageQueueElement * | head |
head of the message queue More... | |
MessageQueueElement * | tail |
tail of the message queue More... | |
int | size |
number of the messages in queue More... | |
Class of MessageQueueTableElement.
Definition at line 243 of file paraCommCPP11.h.
default constructor of MessageQueueTableElement
Definition at line 255 of file paraCommCPP11.h.
destructor of MessageQueueTableElement
Definition at line 263 of file paraCommCPP11.h.
References MessageQueueElement::getNext(), and MessageQueueTableElement::head.
default constructor of MessageQueueTableElement
Definition at line 245 of file paraCommPth.h.
destructor of MessageQueueTableElement
Definition at line 255 of file paraCommPth.h.
References MessageQueueElement::getNext(), and MessageQueueTableElement::head.
MessageQueueElement * checkElement | ( | int | source, |
int | datatypeId, | ||
int | tag | ||
) |
check if the specified message exists or nor
source | source rank |
datatypeId | data type id |
tag | tag of the message |
Definition at line 278 of file paraCommCPP11.h.
References MessageQueueElement::getNext(), and MessageQueueTableElement::head.
MessageQueueElement * checkElement | ( | int | source, |
int | datatypeId, | ||
int | tag | ||
) |
check if the specified message exists or nor
source | source rank |
datatypeId | data type id |
tag | tag of the message |
Definition at line 272 of file paraCommPth.h.
References MessageQueueElement::getNext(), and MessageQueueTableElement::head.
MessageQueueElement * checkElementWithTag | ( | int | tag | ) |
check if the specified message with tag exists or nor
tag | tag of the message |
Definition at line 302 of file paraCommCPP11.h.
References MessageQueueElement::getNext(), and MessageQueueTableElement::head.
Referenced by ParaCommCPP11::iProbe(), and ParaCommPth::iProbe().
MessageQueueElement * checkElementWithTag | ( | int | tag | ) |
check if the specified message with tag exists or nor
tag | tag of the message |
Definition at line 298 of file paraCommPth.h.
References MessageQueueElement::getNext(), and MessageQueueTableElement::head.
void enqueue | ( | ConditionVariable * | sentMsg, |
bool * | sentMessage, | ||
MessageQueueElement * | newElement | ||
) |
enqueue a message
sentMsg | condition variable for synchronization |
sentMessage | mutex for synchronization |
newElement | message queue element to enter |
Definition at line 407 of file paraCommPth.h.
References MessageQueueTableElement::head, MessageQueueElement::link(), MessageQueueTableElement::size, and MessageQueueTableElement::tail.
void enqueue | ( | std::condition_variable & | sentMsg, |
std::mutex & | queueLockMutex, | ||
bool * | sentMessage, | ||
MessageQueueElement * | newElement | ||
) |
enqueue a message
sentMsg | condition variable for synchronization |
queueLockMutex | mutex for synchronization |
sentMessage | flag for synchronization |
newElement | message queue element to enter |
Definition at line 407 of file paraCommCPP11.h.
References MessageQueueTableElement::head, MessageQueueElement::link(), MessageQueueTableElement::size, and MessageQueueTableElement::tail.
Referenced by ParaCommCPP11::send(), ParaCommPth::send(), ParaCommCPP11::uTypeSend(), and ParaCommPth::uTypeSend().
MessageQueueElement * extarctElement | ( | bool * | sentMessage | ) |
extracts a message (This method is only for desctructor of ParaCommCPP11. No lock is necessary.)
sentMessage | for synchronization |
Definition at line 381 of file paraCommCPP11.h.
References MessageQueueElement::getNext(), MessageQueueTableElement::head, MessageQueueElement::link(), MessageQueueTableElement::size, and MessageQueueTableElement::tail.
MessageQueueElement * extarctElement | ( | bool * | sentMessage | ) |
extracts a message (This method is only for desctructor of ParaCommCPP11. No lock is necessary.)
sentMessage | for synchronization |
Definition at line 381 of file paraCommPth.h.
References MessageQueueElement::getNext(), MessageQueueTableElement::head, MessageQueueElement::link(), MessageQueueTableElement::size, and MessageQueueTableElement::tail.
MessageQueueElement * extarctElement | ( | bool * | sentMessage, |
int | source, | ||
int | datatypeId, | ||
int | tag | ||
) |
extracts a message
sentMessage | for synchronization |
source | source rank |
datatypeId | data type id |
tag | tag of the message |
Definition at line 322 of file paraCommCPP11.h.
References MessageQueueElement::getDataTypeId(), MessageQueueElement::getNext(), MessageQueueElement::getSource(), MessageQueueElement::getTag(), MessageQueueTableElement::head, MessageQueueElement::link(), MessageQueueTableElement::size, and MessageQueueTableElement::tail.
Referenced by ParaCommCPP11::receive(), ParaCommPth::receive(), ParaCommCPP11::uTypeReceive(), ParaCommPth::uTypeReceive(), ParaCommCPP11::~ParaCommCPP11(), ParaCommPth::~ParaCommPth(), and ScipParaCommTh::~ScipParaCommTh().
MessageQueueElement * extarctElement | ( | bool * | sentMessage, |
int | source, | ||
int | datatypeId, | ||
int | tag | ||
) |
extracts a message
sentMessage | for synchronization |
source | source rank |
datatypeId | data type id |
tag | tag of the message |
Definition at line 320 of file paraCommPth.h.
References MessageQueueElement::getDataTypeId(), MessageQueueElement::getNext(), MessageQueueElement::getSource(), MessageQueueElement::getTag(), MessageQueueTableElement::head, MessageQueueElement::link(), MessageQueueTableElement::size, and MessageQueueTableElement::tail.
MessageQueueElement * getHead | ( | ) |
getter of head
Definition at line 432 of file paraCommCPP11.h.
References MessageQueueTableElement::head.
Referenced by ParaCommCPP11::iProbe(), ParaCommPth::iProbe(), ParaCommCPP11::probe(), and ParaCommPth::probe().
MessageQueueElement * getHead | ( | ) |
getter of head
Definition at line 433 of file paraCommPth.h.
References MessageQueueTableElement::head.
int getSize | ( | ) |
getter of size
Definition at line 442 of file paraCommCPP11.h.
References MessageQueueTableElement::size.
Referenced by ParaCommCPP11::getNumOfMessagesWaitingToSend(), and ParaCommPth::getNumOfMessagesWaitingToSend().
int getSize | ( | ) |
getter of size
Definition at line 443 of file paraCommPth.h.
References MessageQueueTableElement::size.
bool isEmpty | ( | ) |
check if the queue is empty or not
Definition at line 452 of file paraCommCPP11.h.
References MessageQueueTableElement::head, and MessageQueueTableElement::size.
Referenced by ParaCommCPP11::iProbe(), and ParaCommPth::iProbe().
bool isEmpty | ( | ) |
check if the queue is empty or not
Definition at line 453 of file paraCommPth.h.
References MessageQueueTableElement::head, and MessageQueueTableElement::size.
void waitMessage | ( | ConditionVariable * | sentMsg, |
bool * | sentMessage | ||
) |
wait for a message coming to a queue
sentMsg | condition variable for synchronization |
sentMessage | flag for synchronization |
Definition at line 467 of file paraCommPth.h.
References CONDITIONVARIABLE_WAIT.
void waitMessage | ( | ConditionVariable * | sentMsg, |
bool * | sentMessage, | ||
int | source, | ||
int * | tag | ||
) |
wait for a specified message coming to a queue
sentMsg | condition variable for synchronization |
sentMessage | flag for synchronization |
source | source rank of the message |
tag | tag of the message |
Definition at line 510 of file paraCommPth.h.
References CONDITIONVARIABLE_WAIT, MessageQueueElement::getNext(), MessageQueueElement::getSource(), MessageQueueElement::getTag(), MessageQueueTableElement::head, and UG::TagAny.
void waitMessage | ( | ConditionVariable * | sentMsg, |
bool * | sentMessage, | ||
int | source, | ||
int | datatypeId, | ||
int | tag | ||
) |
wait for a specified message coming to a queue
sentMsg | condition variable for synchronization |
sentMessage | flag for synchronization |
source | source rank of the message |
datatypeId | data type id of the message |
tag | tag of the message |
Definition at line 478 of file paraCommPth.h.
References CONDITIONVARIABLE_WAIT, MessageQueueElement::getDataTypeId(), MessageQueueElement::getNext(), MessageQueueElement::getSource(), MessageQueueElement::getTag(), and MessageQueueTableElement::head.
void waitMessage | ( | std::condition_variable & | sentMsg, |
std::mutex & | queueLockMutex, | ||
bool * | sentMessage | ||
) |
wait for a message coming to a queue
sentMsg | condition variable for synchronization |
queueLockMutex | mutex for synchronization |
sentMessage | flag for synchronization |
Definition at line 464 of file paraCommCPP11.h.
Referenced by ParaCommCPP11::probe(), ParaCommPth::probe(), ParaCommCPP11::receive(), ParaCommPth::receive(), ParaCommCPP11::uTypeReceive(), ParaCommPth::uTypeReceive(), ParaCommCPP11::waitSpecTagFromSpecSource(), and ParaCommPth::waitSpecTagFromSpecSource().
void waitMessage | ( | std::condition_variable & | sentMsg, |
std::mutex & | queueLockMutex, | ||
bool * | sentMessage, | ||
int | source, | ||
int * | tag | ||
) |
wait for a specified message coming to a queue
sentMsg | condition variable for synchronization |
queueLockMutex | mutex for synchronization |
sentMessage | flag for synchronization |
source | source rank of the message |
tag | tag of the message |
Definition at line 541 of file paraCommCPP11.h.
References MessageQueueElement::getNext(), MessageQueueElement::getSource(), MessageQueueElement::getTag(), MessageQueueTableElement::head, and UG::TagAny.
void waitMessage | ( | std::condition_variable & | sentMsg, |
std::mutex & | queueLockMutex, | ||
bool * | sentMessage, | ||
int | source, | ||
int | datatypeId, | ||
int | tag | ||
) |
wait for a specified message coming to a queue
sentMsg | condition variable for synchronization |
queueLockMutex | mutex for synchronization |
sentMessage | flag for synchronization |
source | source rank of the message |
datatypeId | data type id of the message |
tag | tag of the message |
Definition at line 508 of file paraCommCPP11.h.
References MessageQueueElement::getDataTypeId(), MessageQueueElement::getNext(), MessageQueueElement::getSource(), MessageQueueElement::getTag(), and MessageQueueTableElement::head.
void waitMessage | ( | std::condition_variable & | sentMsg, |
std::mutex & | queueLockMutex, | ||
bool * | sentMessage, | ||
int | source, | ||
int | tag | ||
) |
wait for a specified message coming to a queue
sentMsg | condition variable for synchronization |
queueLockMutex | mutex for synchronization |
sentMessage | flag for synchronization |
source | source rank of the message |
tag | tag of the message |
Definition at line 477 of file paraCommCPP11.h.
References MessageQueueElement::getNext(), MessageQueueElement::getSource(), MessageQueueElement::getTag(), and MessageQueueTableElement::head.
|
private |
head of the message queue
Definition at line 246 of file paraCommCPP11.h.
Referenced by MessageQueueTableElement::checkElement(), MessageQueueTableElement::checkElementWithTag(), MessageQueueTableElement::enqueue(), MessageQueueTableElement::extarctElement(), MessageQueueTableElement::getHead(), MessageQueueTableElement::isEmpty(), MessageQueueTableElement::waitMessage(), and MessageQueueTableElement::~MessageQueueTableElement().
|
private |
number of the messages in queue
Definition at line 248 of file paraCommCPP11.h.
Referenced by MessageQueueTableElement::enqueue(), MessageQueueTableElement::extarctElement(), MessageQueueTableElement::getSize(), and MessageQueueTableElement::isEmpty().
|
private |
tail of the message queue
Definition at line 247 of file paraCommCPP11.h.
Referenced by MessageQueueTableElement::enqueue(), and MessageQueueTableElement::extarctElement().