Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
The source_link_manager object manages messaging block network links to ISource blocks.
Syntax
template<class _LinkRegistry>
class source_link_manager;
Parameters
_LinkRegistry
The network link registry.
Members
Public Typedefs
| Name | Description |
|---|---|
const_pointer |
A type that provides a pointer to a const element in a source_link_manager object. |
const_reference |
A type that provides a reference to a const element stored in a source_link_manager object for reading and performing const operations. |
iterator |
A type that provides an iterator that can read or modify any element in the source_link_manager object. |
type |
The type of link registry being managed by the source_link_manager object. |
Public Constructors
| Name | Description |
|---|---|
| source_link_manager | Constructs a source_link_manager object. |
| ~source_link_manager Destructor | Destroys the source_link_manager object. |
Public Methods
| Name | Description |
|---|---|
| add | Adds a source link to the source_link_manager object. |
| begin | Returns an iterator to the first element in the source_link_manager object. |
| contains | Searches the network_link_registry within this source_link_manager object for a specified block. |
| count | Counts the number of linked blocks in the source_link_manager object. |
| reference | Acquires a reference on the source_link_manager object. |
| register_target_block | Registers the target block that holds this source_link_manager object. |
| release | Releases the reference on the source_link_manager object. |
| remove | Removes a link from the source_link_manager object. |
| set_bound | Sets the maximum number of source links that can be added to this source_link_manager object. |
Remarks
Currently, the source blocks are reference counted. This is a wrapper on a network_link_registry object that allows concurrent access to the links and provides the ability to reference the links through callbacks. Message blocks (target_blocks or propagator_blocks) should use this class for their source links.
Inheritance Hierarchy
source_link_manager
Requirements
Header: agents.h
Namespace: concurrency
add
Adds a source link to the source_link_manager object.
void add(_EType _Link);
Parameters
_Link
A pointer to a block to be added.
begin
Returns an iterator to the first element in the source_link_manager object.
iterator begin();
Return Value
An iterator addressing the first element in the source_link_manager object.
Remarks
The end state of the iterator is indicated by a NULL link.
contains
Searches the network_link_registry within this source_link_manager object for a specified block.
bool contains(_EType _Link);
Parameters
_Link
A pointer to a block that is to be searched for in the source_link_manager object.
Return Value
true if the specified block was found, false otherwise.
count
Counts the number of linked blocks in the source_link_manager object.
size_t count();
Return Value
The number of linked blocks in the source_link_manager object.
reference
Acquires a reference on the source_link_manager object.
void reference();
register_target_block
Registers the target block that holds this source_link_manager object.
void register_target_block(_Inout_ ITarget<typename _Block::source_type>* _PTarget);
Parameters
_PTarget
The target block holding this source_link_manager object.
release
Releases the reference on the source_link_manager object.
void release();
remove
Removes a link from the source_link_manager object.
bool remove(_EType _Link);
Parameters
_Link
A pointer to a block to be removed, if found.
Return Value
true if the link was found and removed, false otherwise.
set_bound
Sets the maximum number of source links that can be added to this source_link_manager object.
void set_bound(size_t _MaxLinks);
Parameters
_MaxLinks
The maximum number of links.
source_link_manager
Constructs a source_link_manager object.
source_link_manager();
~source_link_manager
Destroys the source_link_manager object.
~source_link_manager();
See also
concurrency Namespace
single_link_registry Class
multi_link_registry Class