Blueprint Help Send comments on this topic.
Counting Semaphore Connections

Glossary Item Box

Connection Attributes

Counting semaphore connections require the following attributes;

Timeout

This attribute determines whether the connection will poll or block (see Connection Timeout).

Signature

This attribute is a string that describes the mapping from elements in the consumer, to elements in the counting semaphore.  See Connection Signature.

Dimspec

This attribute determines the dimensionality of the connection array owned by each consuming element.  By default, this will provide the consuming element with one connection for each provider element.  Collector, Multiplexor and Manual connection consumers can have multi-dimensional connection arrays, but in all other cases, this attribute will be '1'.  See Connection Dimspec.

Repeat Count

This attribute determines the number of times that each 'provider element to consumer element' connection is repeated.  If the repeat count is greater then one, then the Dimspec attribute (above), and the resulting connection access functions, will both have an 'extra' dimension.  Only Collector, Multiplexor and Manual connection consumers can have repeat counts that are greater than '1'.  See Connection Repeat Count.

Name

This attribute determines the connection's 'name' which is used to construct access function names (see Connection Names).

Access

This attribute determines whether the consumer is requesting or signaling.

Additional attributes may also be required that are specific to the connection's consuming object.  These are documented in their respective sections.

Manual Connections

The following member functions apply to manual connections only (see Manual Connections);

Signal()

This member function signals the connected semaphore (see CSM Signal).

Request()

This member function requests the connected semaphore (see CSM Request).

Automatic and Manual Connections

The following are provided by both automatic and manual connections, but are only valid when the connection has been opened (see Automatic Connections);

Status()

This member function returns the connection's event status.  Following a successful request the function will return CLP_EVENT_OPEN.  If the request timed out it will return CLP_EVENT_TIMED_OUT.  Event status is undefined after execution of the 'signal' function.

IsOpen()

This member function returns TRUE if the request has succeeded or FALSE otherwise.