Condividi tramite


Classe transformer

Un blocco della messaggistica transformer è un propagator_block multi-origine, a destinazione singola, che può accettare messaggi di un tipo ed è in grado di archiviare un numero non associato di messaggi di un tipo diverso.

template<
   class _Input,
   class _Output
>
class transformer : public propagator_block<single_link_registry<ITarget<_Output>>, multi_link_registry<ISource<_Input>>>;

Parametri

  • _Input
    Tipo di payload dei messaggi accettati dal buffer.

  • _Output
    Tipo di payload dei messaggi memorizzati e propagati esternamente dal buffer.

Membri

Dd492812.collapse_all(it-it,VS.110).gifCostruttori pubblici

Nome

Descrizione

Costruttore transformer::transformer

Di overload.Costruisce un blocco della messaggistica transformer.

Distruttore transformer::~transformer

Distrugge il blocco della messaggistica transformer.

Dd492812.collapse_all(it-it,VS.110).gifMetodi protetti

Nome

Descrizione

Metodo transformer::accept_message

Accetta un messaggio offerto dal blocco di messaggistica transformer, trasferendo la proprietà al chiamante.

Metodo transformer::consume_message

Utilizza un messaggio precedentemente offerto da transformer e riservato dalla destinazione trasferendo la proprietà al chiamante.

Metodo transformer::link_target_notification

Un callback che notifica che una nuova destinazione è stata collegata a questo blocco della messaggistica transformer.

Metodo transformer::propagate_message

Consente di passare in modo asincrono un messaggio da un blocco ISource a quello della messaggistica transformer.Viene richiamato dal metodo propagate se chiamato da un blocco di origine.

Metodo transformer::propagate_to_any_targets

Esegue la funzione transformer sui messaggi di input.

Metodo transformer::release_message

Consente di rilasciare una prenotazione del messaggio precedente.(Consente di eseguire l'override di source_block::release_message.)

Metodo transformer::reserve_message

Consente di riservare un messaggio messo a disposizione in precedenza da tale blocco della messaggistica transformer.(Consente di eseguire l'override source_block::reserve_message.)

Metodo transformer::resume_propagation

Consente di riprendere una propagazione dopo il rilascio di una prenotazione.(Consente di eseguire l'override source_block::resume_propagation.)

Metodo transformer::send_message

Consente di passare in modo sincrono un messaggio da un blocco ISource a quello della messaggistica transformer.Viene richiamato dal metodo send se chiamato da un blocco di origine.

Metodo transformer::supports_anonymous_source

Esegue l'override del metodo di supports_anonymous_source per indicare che questo blocco può accettare i messaggi offerti da un database di origine che non è connesso.(Override ITarget::supports_anonymous_source).

Note

Per ulteriori informazioni, vedere Blocchi dei messaggi asincroni.

Gerarchia di ereditarietà

ISource

ITarget

source_block

propagator_block

transformer

Requisiti

Header: agents.h

Concorrenza diSpazio dei nomi:

Vedere anche

Riferimenti

Spazio dei nomi concurrency

Classe call