Condividi tramite


Classe timer

Un blocco della messaggistica timer è un source_block in grado di inviare un messaggio alla sua destinazione dopo che è trascorso un determinato periodo di tempo oppure ad intervalli specifici.

template<
   class _Type
>
class timer : public Concurrency::details::_Timer, public source_block<single_link_registry<ITarget<_Type>>>;

Parametri

  • _Type
    Tipo di payload dei messaggi di output di questo blocco.

Membri

Costruttori pubblici

Nome

Oggetto di descrizione

Costruttore timer::timer

Metodo di overload. Costruisce un blocco della messaggistica timer che genererà un messaggio specificato dopo un intervallo specificato.

Distruttore timer::~timer

Distrugge un blocco della messaggistica timer.

Metodi pubblici

Nome

Oggetto di descrizione

Metodo timer::pause

Consente di arrestare il blocco della messaggistica timer. Se è un blocco della messaggistica timer ripetuto, è possibile effettuare un riavvio con una chiamata start() successiva. Per i timer non ripetuti, questa operazione ha lo stesso effetto della chiamata stop.

Metodo timer::start

Avvia il blocco della messaggistica timer. Numero specificato di millisecondi dopo la chiamata; il valore specificato sarà propagato downstream come un message.

Metodo timer::stop

Consente di arrestare il blocco della messaggistica timer.

Metodi protetti

Nome

Oggetto di descrizione

Metodo timer::accept_message

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

Metodo timer::consume_message

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

Metodo timer::link_target_notification

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

Metodo timer::propagate_to_any_targets

Consente di tentare di proporre il messaggio prodotto dal blocco timer a tutte le destinazioni collegate.

Metodo timer::release_message

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

Metodo timer::reserve_message

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

Metodo timer::resume_propagation

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

Note

Per ulteriori informazioni, vedere Blocchi dei messaggi asincroni.

Gerarchia di ereditarietà

ISource

source_block

_Timer

timer

Requisiti

Header: agents.h

Spazio dei nomi: Concurrency

Vedere anche

Riferimenti

Spazio dei nomi Concurrency