Blueprint Help Send comments on this topic.
Arbitrated Store Connections

Glossary Item Box

Connection Attributes

Arbitrated store connections require the following attributes;

Timeout

This attribute determines whether the connection will poll or block (see Connection Timeout).  Since arbitrated stores are only usually held open for short periods this attribute is usually set to 'block'.

Signature

This attribute is a string that describes the mapping from elements in the consumer, to elements in the arbitrated store.  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 read, write or update access to the store's data.

Key

This attribute can be used as a means of filtering reads and updates.  If a writer and/or updater specifies a key then it is associated with the buffer instance.  Readers and/or updaters that specify a key and a rule will only be granted access to data that satisfies their specified constraint.  See Store Keys and Rules.

Rule

This attribute can be used by readers and updaters as a means of filtering out data of interest (see Store Keys and Rules).

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);

OpenWrite()

This member function opens the store for exclusive write access (see AST OpenWrite function).

OpenRead()

This member function opens the store for shareable read access (see AST OpenRead function).

OpenUpdate()

This member function opens the store for exclusive update access (see AST OpenUpdate function).

Close()

This member function closes a store that was successfully opened for write, read, or update (see AST Close function).

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);

Record()

If the connection has been successfully opened, and not yet closed, then this member function returns a reference to the store's data record object.  If the buffer mode (see above) is not 'static' then the data object will need to be constructed before it can be referenced (see access functions and store records).

Status()

This member function returns the connection's event status.  If the store has been successfully opened for read, write, or update, then the status function will return; CLP_EVENT_OPEN_READ, CLP_EVENT_OPEN_WRITE or CLP_EVENT_OPEN_UPDATE respectively.  If the store has been successfully closed the function will return CLP_EVENT_CLOSED.

IsOpen()

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

Key()

This member function returns the key that is associated with the currently 'Open' buffer (see key attribute above).