Bagikan melalui


Kelas ordered_message_processor

ordered_message_processor adalah yang message_processor memungkinkan blok pesan memproses pesan dalam urutan diterimanya.

Sintaks

template<class T>
class ordered_message_processor : public message_processor<T>;

Parameter

T
Jenis payload pesan yang ditangani oleh prosesor.

Anggota

Typedef Publik

Nama Deskripsi
type Alias jenis untuk T.

Konstruktor Publik

Nama Deskripsi
ordered_message_processor Membuat ordered_message_processor objek.
~ordered_message_processor Destructor ordered_message_processor Menghancurkan objek.

Metode Publik

Nama Deskripsi
async_send Secara asinkron mengantre pesan dan memulai tugas pemrosesan, jika ini belum dilakukan. (Mengambil alih message_processor::async_send.)
Menginisialisasi Menginisialisasi ordered_message_processor objek dengan fungsi panggilan balik, penjadwal, dan grup jadwal yang sesuai.
initialize_batched_processing Menginisialisasi pemrosesan pesan batch
sync_send Secara sinkron mengantre pesan dan memulai tugas pemrosesan, jika ini belum dilakukan. (Mengambil alih message_processor::sync_send.)
Tunggu Penantian putaran khusus prosesor yang digunakan dalam destruktor blok pesan untuk memastikan bahwa semua tugas pemrosesan asinkron memiliki waktu untuk menyelesaikan sebelum menghancurkan blok. (Mengambil alih message_processor::wait.)

Metode yang Dilindungi

Nama Deskripsi
process_incoming_message Fungsi pemrosesan yang disebut secara asinkron. Ini menghapus antrean pesan dan mulai memprosesnya. (Mengambil alih message_processor::p rocess_incoming_message.)

Hierarki Warisan

message_processor

ordered_message_processor

Persyaratan

Header: agents.h

Namespace: konkurensi

async_send

Secara asinkron mengantre pesan dan memulai tugas pemrosesan, jika ini belum dilakukan.

virtual void async_send(_Inout_opt_ message<T>* _Msg);

Parameter

_Msg
Penunjuk ke pesan.

Menginisialisasi

Menginisialisasi ordered_message_processor objek dengan fungsi panggilan balik, penjadwal, dan grup jadwal yang sesuai.

void initialize(
    _Inout_opt_ Scheduler* _PScheduler,
    _Inout_opt_ ScheduleGroup* _PScheduleGroup,
    _Handler_method const& _Handler);

Parameter

_PScheduler
Penunjuk ke penjadwal yang akan digunakan untuk menjadwalkan tugas ringan.

_PScheduleGroup
Penunjuk ke grup jadwal yang akan digunakan untuk menjadwalkan tugas ringan.

_Handler
Funktor handler dipanggil selama panggilan balik.

initialize_batched_processing

Menginisialisasi pemrosesan pesan batch

virtual void initialize_batched_processing(
    _Handler_method const& _Processor,
    _Propagator_method const& _Propagator);

Parameter

_Prosesor
Funktor prosesor dipanggil selama panggilan balik.

_Propagator
Funktor penyebar memanggil selama panggilan balik.

ordered_message_processor

Membuat ordered_message_processor objek.

ordered_message_processor();

Keterangan

Ini ordered_message_processor tidak akan menjadwalkan handler asinkron atau sinkron hingga initialize fungsi dipanggil.

~ordered_message_processor

ordered_message_processor Menghancurkan objek.

virtual ~ordered_message_processor();

Keterangan

Menunggu semua operasi asinkron yang luar biasa sebelum menghancurkan prosesor.

process_incoming_message

Fungsi pemrosesan yang disebut secara asinkron. Ini menghapus antrean pesan dan mulai memprosesnya.

virtual void process_incoming_message();

sync_send

Secara sinkron mengantre pesan dan memulai tugas pemrosesan, jika ini belum dilakukan.

virtual void sync_send(_Inout_opt_ message<T>* _Msg);

Parameter

_Msg
Penunjuk ke pesan.

tunggu

Penantian putaran khusus prosesor yang digunakan dalam destruktor blok pesan untuk memastikan bahwa semua tugas pemrosesan asinkron memiliki waktu untuk menyelesaikan sebelum menghancurkan blok.

virtual void wait();

Lihat juga

Namespace layanan konkurensi