Share via


ISource Class

The ISource class is the interface for all source blocks. Source blocks propagate messages to ITarget blocks.

template<
   class _Type
>
class ISource;

Parameters

  • _Type
    The data type of the payload within the messages produced by the source block.

Members

Public Typedefs

Name

Description

source_type

A type alias for _Type.

Public Constructors

Name

Description

ISource::~ISource Destructor

Destroys the ISource object.

Public Methods

Name

Description

ISource::accept Method

When overridden in a derived class, accepts a message that was offered by this ISource block, transferring ownership to the caller.

ISource::acquire_ref Method

When overridden in a derived class, acquires a reference count on this ISource block, to prevent deletion.

ISource::consume Method

When overridden in a derived class, consumes a message previously offered by this ISource block and successfully reserved by the target, transferring ownership to the caller.

ISource::link_target Method

When overridden in a derived class, links a target block to this ISource block.

ISource::release Method

When overridden in a derived class, releases a previous successful message reservation.

ISource::release_ref Method

When overridden in a derived class, releases a reference count on this ISource block.

ISource::reserve Method

When overridden in a derived class, reserves a message previously offered by this ISource block.

ISource::unlink_target Method

When overridden in a derived class, unlinks a target block from this ISource block, if found to be previously linked.

ISource::unlink_targets Method

When overridden in a derived class, unlinks all target blocks from this ISource block.

Remarks

For more information, see Asynchronous Message Blocks.

Inheritance Hierarchy

ISource

Requirements

Header: agents.h

Namespace: Concurrency

See Also

Reference

Concurrency Namespace

ITarget Class