Description
Trigger connections deliver events to methods and call-back functions and are actually just a special case of automatic connections. Requests are automatically issued along trigger connections at startup (when the containing circuit is activated), and after return from each subsequent execution. Each time the trigger connection's event tree is populated, an event is issued along the connection to the consuming object (method or call-back). This causes the the method/call-back to execute and the user code can then use the connection's access functions to manipulate the populated event tree (see Access Functions). When the user code returns, the trigger connection's event tree is automatically closed and another request automatically issued.
Trigger Connection Types
Trigger connections are created by the translator and references to them returned by their access functions. Trigger connections have Automatic connection 'types' and these are determined by their providing object types. CDL supports the following automatic connection types, each with their own member functions. Note that automatic connection member functions are a subset of their manual equivalents.
CLIP::AstAutoCxn
Arbitrated store, automatic connection
CLIP::TstAutoCxn
Transient store, automatic connection
CLIP::CsmAutoCxn
Counting semaphore, automatic connection
CLIP::LsmAutoCxn
Logical semaphore, automatic connection
CLIP::ClxAutoCxn
Collector, automatic connection
CLIP::CpxAutoCxn
Competer, automatic connection
CLIP::DbxAutoCxn
Distributor, automatic connection
CLIP::DmxAutoCxn
Demultiplexor, automatic connection
CLIP::MpxAutoCxn
Multiplexor, automatic connection
CLIP::RdxAutoCxn
Reducer, automatic connection
CLIP::SpxAutoCxn
Splitter, automatic connection
Trigger Connection Attributes
Trigger connection attributes are fixed at connection time and can be thought of as falling into two categories. Firstly there are those attributes that apply to the provider, and different providers will require different attributes. Secondly there are those attributes that apply to the consumer. Trigger connections only apply to methods and call-backs and and they both have 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 provider. See Connection Signature.
Name
This attribute determines the connection's 'name' which is used to construct access function names (see Connection Names).
The nodal objects section of this documentation lists each nodal object's particular providing and/or consuming attributes.
Example
See Trigger Connections.