Performs a blocking receive with a datatype.
a0tError a0Receive( | | | |
| a0tPort | *port, | |
| int | source, | |
| int | tag, | |
| a0tRequest | *request, | |
| a0tDatatype | datatype, | |
| void | *address, | |
| int | count );
| |
Name | rd/wr | Description |
port | read | Port to listen to (on caller's node). |
source | read | Source node to listen to. |
tag | read | tag to use. |
request | write | Request descriptor to hold the status. |
datatype | read | Datatype of the data to receive. |
address | write | Address where the received data goes. |
count | read | Number of elements to receive. |
This function performs a blocking receive on a given port port, from a given source node source (or A0AnySource if any node will do), with a given tag tag. It blocks the calling thread to receive a message described by datatype.
On return of this function, the variable pointed by request contains an opaque request that can be used later to check the completion status of the receive operation and to get the node number of the sending thread.
Error Code | Description |
A0Err...Some error occurred. | |
A0ErrOkSuccessful completion. | |
a0IReceive() a0Send() a0ISend() a0ReceiveBuffer() a0_DATATYPES