Bagikan melalui


Kelas OrderedMessageProcessor

ordered_message_processor adalah message_processor yang memungkinkan blok pesan memproses pesan sesuai dengan urutan penerimaan.

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
pengolah_pesan_terurut Membuat objek ordered_message_processor.
~ordered_message_processor Destruktor ordered_message_processor Menghancurkan objek.

Metode Publik

Nama Deskripsi
async_send Secara asinkron mengantre pesan dan memulai tugas pemrosesan, jika ini belum dilakukan. (Menggantikan message_processor::async_send.)
Menginisialisasi Menginisialisasi ordered_message_processor objek dengan fungsi panggilan balik, penjadwal, dan grup jadwal yang sesuai.
menginisialisasi_pemrosesan_dikelompokkan Menginisialisasi pemrosesan pesan batch
sync_send Secara sinkron mengantre pesan dan memulai tugas pemrosesan, jika ini belum dilakukan. (Menggantikan 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. (Menimpa message_processor::process_incoming_message.)

Hierarki Pewarisan

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.

awali

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 (inisialisasi pemrosesan berkelompok)

Menginisialisasi pemrosesan pesan batch

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

Parameter

_Prosesor
Fungsi prosesor yang dipanggil selama panggilan balik.

_Propagator
Fungsi penghubung yang dipanggil selama panggilan balik.

Pengolah Pesan Terurut

Membuat objek ordered_message_processor.

ordered_message_processor();

Keterangan

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

~pemroses_pesan_terurut

ordered_message_processor Menghancurkan objek.

virtual ~ordered_message_processor();

Keterangan

Menunggu semua operasi asinkron yang belum selesai sebelum menghancurkan prosesor.

proses_pesan_masuk

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 (pointer) 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