Concept ImmediateProcessGroup

Contents

Description

The ImmediateProcessGroup concept implies the semantics of a communication medium in which messages are sent immediately and delivered at any time, without an intervening synchronization step. This is the primary difference between the ImmediateProcessGroup and its superior, MessagingProcessGroup: the latter requires a synchronization to ensure that a receive operation will succeed, whereas the former requires only they there be a send matching the receive.

Refinement of

Associated Types

Concept tag PG::communication_category Must be convertible to bsp_process_group_tag.
Receivable message type optional<pair<process_id_type, int> > Describes a receivable message, if one exists.

Notation

PG
A type that models the ProcessGroup concept.
pg
Object of type PG

Valid Expressions

Name Expression Type Semantics
Receive message receive(pg, id, tag, x) Convertible to process_id_type Receives a message with tag tag and stores the value into x. The message will come from process id and id will be returned. This routine will block until a send is matched.
Receive message from any sender receive(pg, tag, x) Convertible to process_id_type Receives a message with tag tag and stores the value into x. The message may come from any sender, and the ID of the sender will be returned. This routine will block until a send is matched.
Receive array receive(pg, id, tag, a, n) Received array type Receives a message with tag tag and stores the values (up to n of them) into array ''a''. The message will come from sender 'id'. A pair of id and the number of elements stored will be returned. The preconditions are equivalent to those of the non-array receive.
Receive array from any sender receive(pg, tag, a, n) Received array type Receives a message with tag tag and stores the values (up to n of them) into array ''a''. The message may come from any sender. The sender ID and the number of elements stored will be returned. The preconditions are equivalent to those of the non-array receive from any sender.

Models


Copyright (C) 2004-5 The Trustees of Indiana University.

Authors: Douglas Gregor and Andrew Lumsdaine