Classe target_block

La classe target_block corrisponde a una classe base astratta che mette a disposizione la funzionalità di gestione dei collegamenti di base e il controllo degli errori per blocchi di sola destinazione.

template<
   class _SourceLinkRegistry,
   class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>
>
class target_block : public ITarget<typename _SourceLinkRegistry::type::source_type>;

Parametri

  • _SourceLinkRegistry
    Registro di sistema del collegamento da utilizzare per il mantenimento dei collegamenti di origine.

  • _MessageProcessorType
    Tipo di processore per elaborazione del messaggio.

Membri

Typedef pubblici

Nome

Oggetto di descrizione

source_iterator

Tipo dell'iteratore per source_link_manager dell'oggetto target_block.

Costruttori pubblici

Nome

Oggetto di descrizione

Costruttore target_block::target_block

Costruisce un oggetto target_block.

Distruttore target_block::~target_block

Elimina l'oggetto target_block.

Metodi pubblici

Nome

Oggetto di descrizione

Metodo target_block::propagate

Consente di passare in modo asincrono un messaggio da un blocco di origine a quello di destinazione.

Metodo target_block::send

Consente di passare in modo sincrono un messaggio da un blocco di origine a quello di destinazione.

Metodi protetti

Nome

Oggetto di descrizione

Metodo target_block::async_send

Consente di inviare in modo asincrono un messaggio per l'elaborazione.

Metodo target_block::decline_incoming_messages

Consente di indicare il blocco che deve rifiutare i nuovi messaggi.

Metodo target_block::initialize_target

Consente di inizializzare l'oggetto di base. In particolare, l'oggetto message_processor ha bisogno di essere inizializzato.

Metodo target_block::link_source

Collega un blocco di origine specificato all'oggetto target_block.

Metodo target_block::process_message

Quando sottoposto a override in una classe derivata, elabora un messaggio che è stato accettato dall'oggetto target_block.

Metodo target_block::propagate_message

Quando sottoposto a override in una classe derivata, il metodo passa in modo asincrono un messaggio da un blocco ISource all'oggetto target_block. Viene richiamato dal metodo propagate se chiamato da un blocco di origine.

Metodo target_block::register_filter

Consente di registrare un metodo di filtro che verrà richiamato a ogni messaggio ricevuto.

Metodo target_block::remove_sources

Consente di scollegare tutte le origini dopo aver atteso il completamento delle operazioni di invio asincrone in sospeso.

Metodo target_block::send_message

Quando sottoposto a override in una classe derivata, il metodo passa in modo sincrono un messaggio da un blocco ISource all'oggetto target_block. Viene richiamato dal metodo send se chiamato da un blocco di origine.

Metodo target_block::sync_send

Consente di inviare in modo sincrono un messaggio per l'elaborazione.

Metodo target_block::unlink_source

Consente di scollegare un blocco di origine specificato dall'oggetto target_block.

Metodo target_block::unlink_sources

Consente di scollegare tutti i blocchi di origine dall'oggetto target_block. (Esegue l'override di ITarget::unlink_sources.)

Metodo target_block::wait_for_async_sends

Consente di attendere il completamento di tutte le propagazioni asincrone.

Gerarchia di ereditarietà

ITarget

target_block

Requisiti

Header: agents.h

Spazio dei nomi: Concurrency

Vedere anche

Riferimenti

Spazio dei nomi Concurrency

Classe ITarget