Blueprint Help Send comments on this topic.
Multiplexor Connections

Glossary Item Box

Connection Attributes

Event propagator objects have two types of connection.  Those that provide events to their consuming faces, and those that consume events from their providing faces.  The attributes associated with any particular connection therefore depend on the providing and consuming object types (see Automatic Connections).

All automatic connections require;

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 provider.  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).

There are three specific attributes required for connections that provide events to a multiplexor's consuming face.

Repeat Count

This attribute determines the number of times that a particular connection is repeated (see Connection Repeat Count).

Priority

This attribute is only required for connections involving 'prioritized' multiplexors (see above).  Links with numerically greater priorities issue requests before links with numerically lesser priorities.

Connection label

This attribute uniquely identifies each multiplexor connection and is referenced by reciprocal demultiplexor connections (see Connection label).

There are no specific attributes required for connections that consume events from a multiplexor's providing face.

Manual Connections

Manual connections provide a means of directly accessing target objects.  These are created automatically from CDL diagrams and accessed using their access function names (see Manual Connections).

Multiplexor connections provide the following member functions;

WaitEvent()

This member function issues an 'open' request to the multiplexor (see MPX WaitEvent function).

Close()

This member function closes a previously opened multiplexor (see MPX Close function).

Automatic and Manual Connections

The following member functions can be used to retrieve information from both automatic and manual 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.

IsOpen()

This member function returns TRUE if the connection is 'Open' or FALSE otherwise.

EventNum()

This member function returns the retrieved event's sequence number.  Numbering starts from zero (the first retrieved event).

NumCxns()

This member function returns the number of multiplexed connections (which can themselves be multi-dimensional).

CxnNum()

This member function returns the retrieved event's connection number.

ElemNum()

This member function returns the retrieved event's element number.

'Label'_CxnNum()

In addition to the above member functions, the translator also generates functions that allow each connection's enumerated label to be returned.  This allows the user code to determine which logical connection has retrieved an event.  The function name is constructed from the connection's label name with "_CxnNum" appended.

LinkNum()

This member function returns the multiplexor's retrieving link number.