Classe overwrite_buffer
Un blocco della messaggistica overwrite_buffer è un propagator_block multi-origine a destinazione singola, in grado di archiviare un unico messaggio alla volta. I nuovi messaggi sovrascrivono i precedenti.
template<
class _Type
>
class overwrite_buffer : public propagator_block<multi_link_registry<ITarget<_Type>>, multi_link_registry<ISource<_Type>>>;
Parametri
- _Type
Tipo di payload dei messaggi memorizzati e propagati dal buffer.
Membri
Costruttori pubblici
Nome |
Oggetto di descrizione |
---|---|
Metodo di overload. Costruisce un blocco della messaggistica overwrite_buffer. |
|
Distrugge il blocco della messaggistica overwrite_buffer. |
Metodi pubblici
Nome |
Oggetto di descrizione |
---|---|
Controlla se questo blocco della messaggistica overwrite_buffer dispone già di un valore. |
|
Ottiene un riferimento al payload corrente del messaggio archiviato nel blocco della messaggistica overwrite_buffer. |
Metodi protetti
Nome |
Oggetto di descrizione |
---|---|
Accetta un messaggio offerto dal blocco di messaggistica overwrite_buffer, restituendo una copia del messaggio al chiamante. |
|
Utilizza un messaggio precedentemente offerto dal blocco di messaggistica overwrite_buffer e riservato dalla destinazione restituendo una copia del messaggio al chiamante. |
|
Un callback che notifica che una nuova destinazione è stata collegata a questo blocco della messaggistica overwrite_buffer. |
|
Consente di passare in modo asincrono un messaggio da un blocco ISource a quello della messaggistica overwrite_buffer. Viene richiamato dal metodo propagate se chiamato da un blocco di origine. |
|
Consente di posizionare message_PMessage in tale blocco della messaggistica overwrite_buffer e di metterlo a disposizione di tutte le destinazioni collegate. |
|
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 overwrite_buffer. (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 overwrite_buffer. Viene richiamato dal metodo send se chiamato da un blocco di origine. |
Note
Un blocco della messaggistica overwrite_buffer propaga copie del suo messaggio archiviato a ciascuna delle sue destinazioni.
Per ulteriori informazioni, vedere Blocchi dei messaggi asincroni.
Gerarchia di ereditarietà
Requisiti
Header: agents.h
Spazio dei nomi: Concurrency