Next: Sending, Previous: Communication statements, Up: Communication statements [Contents][Index]
A message specification describes a set of messages. The following is a formal definition:
Within a
RECEIVE
statement (see Receiving), a
<message_spec>’s FROM
keyword must be replaced with
INTO
.
A
SEND
statement’s WHO RECEIVES IT
clause
(see Sending) utilizes a
slightly different message specification, which is referred to here
as a
<recv_message_spec>:
Although not indicated by the preceding grammatical rule, a <recv_message_spec> is not allowed to be empty. That is, at least one of the optional clauses must be specified.
A
REDUCE
statement (see Reducing) utilizes the following
variations of <message_spec> and
<recv_message_spec>, respectively:
We now describe in turn each component of a <message_spec>, <recv_message_spec>, <reduce_message_spec>, and <reduce_target_message_spec>.
• Item count: | How many messages should be sent? | |
• Unique messages: | Should messages recycle memory or not? | |
• Item size: | How big is each message? | |
• Message alignment: | How should messages be aligned in memory? | |
• Data touching: | Should message contents be accessed explcitly? | |
• Tag matching: | In what order should messages be received? | |
• Buffer control: | What buffer should be used for each message? | |
• Blocking semantics: | Should the sender/receiver wait before proceeding? |
Next: Sending, Previous: Communication statements, Up: Communication statements [Contents][Index]