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
Costruttori pubblici
Nome |
Descrizione |
---|---|
Di overload.Costruisce un blocco della messaggistica transformer. |
|
Distrugge il blocco della messaggistica transformer. |
Metodi protetti
Nome |
Descrizione |
---|---|
Accetta un messaggio offerto dal blocco di messaggistica transformer, trasferendo la proprietà al chiamante. |
|
Utilizza un messaggio precedentemente offerto da transformer e riservato dalla destinazione trasferendo la proprietà al chiamante. |
|
Un callback che notifica che una nuova destinazione è stata collegata a questo blocco della messaggistica transformer. |
|
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. |
|
Esegue la funzione transformer sui messaggi di input. |
|
Consente di rilasciare una prenotazione del messaggio precedente.(Consente di eseguire l'override di source_block::release_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.) |
|
Consente di riprendere una propagazione dopo il rilascio di una prenotazione.(Consente di eseguire l'override source_block::resume_propagation.) |
|
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. |
|
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à
transformer
Requisiti
Header: agents.h
Concorrenza diSpazio dei nomi: