ordered_message_processor 클래스ordered_message_processor Class

ordered_message_processor는 메시지 블록이 수신된 순서대로 메시지를 처리할 수 있도록 하는 message_processor입니다.An ordered_message_processor is a message_processor that allows message blocks to process messages in the order they were received.

구문Syntax

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

매개 변수Parameters

TT
프로세서에서 처리 하는 메시지의 페이로드 유형입니다.The payload type of messages handled by the processor.

구성원Members

공용 형식 정의Public Typedefs

속성Name DescriptionDescription
type T에 대 한 형식 별칭입니다.A type alias for T.

Public 생성자Public Constructors

속성Name DescriptionDescription
ordered_message_processorordered_message_processor ordered_message_processor 개체를 생성합니다.Constructs an ordered_message_processor object.
~ ordered_message_processor 소멸자~ordered_message_processor Destructor ordered_message_processor 개체를 소멸 시킵니다.Destroys the ordered_message_processor object.

Public 메서드Public Methods

속성Name DescriptionDescription
async_sendasync_send 아직 수행 하지 않은 경우 비동기적으로 메시지를 큐에 대기 시키고 처리 작업을 시작 합니다.Asynchronously queues up messages and starts a processing task, if this has not been done already. Message_processor:: async_send를 재정의 합니다.(Overrides message_processor::async_send.)
초기initialize 적절 한 콜백 함수, 스케줄러 및 일정 그룹을 사용 하 여 ordered_message_processor 개체를 초기화 합니다.Initializes the ordered_message_processor object with the appropriate callback function, scheduler and schedule group.
initialize_batched_processinginitialize_batched_processing 일관 처리된 메시지 처리 초기화Initialize batched message processing
sync_sendsync_send 메시지를 동기적으로 큐에 대기 시키고 처리 태스크를 시작 합니다 (아직 수행 하지 않은 경우).Synchronously queues up messages and starts a processing task, if this has not been done already. Message_processor:: sync_send를 재정의 합니다.(Overrides message_processor::sync_send.)
대기한wait 블록을 제거 하기 전에 모든 비동기 처리 작업을 완료할 시간이 있는지 확인 하기 위해 메시지 블록의 소멸자에 사용 되는 프로세서 특정 spin wait입니다.A processor-specific spin wait used in destructors of message blocks to make sure that all asynchronous processing tasks have time to finish before destroying the block. Message_processor:: wait를 재정의 합니다.(Overrides message_processor::wait.)

Protected 메서드Protected Methods

속성Name DescriptionDescription
process_incoming_messageprocess_incoming_message 비동기식으로 호출 되는 처리 함수입니다.The processing function that is called asynchronously. 메시지를 큐에서 제거 하 고 처리를 시작 합니다.It dequeues messages and begins processing them. Message_processor::p rocess_incoming_message를 재정의 합니다.(Overrides message_processor::process_incoming_message.)

상속 계층Inheritance Hierarchy

message_processormessage_processor

ordered_message_processor

요구 사항Requirements

헤더: agents.hHeader: agents.h

네임스페이스: 동시성Namespace: concurrency

async_sendasync_send

아직 수행 하지 않은 경우 비동기적으로 메시지를 큐에 대기 시키고 처리 작업을 시작 합니다.Asynchronously queues up messages and starts a processing task, if this has not been done already.

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

매개 변수Parameters

_Msg_Msg
메시지에 대 한 포인터입니다.A pointer to a message.

초기initialize

적절 한 콜백 함수, 스케줄러 및 일정 그룹을 사용 하 여 ordered_message_processor 개체를 초기화 합니다.Initializes the ordered_message_processor object with the appropriate callback function, scheduler and schedule group.

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

매개 변수Parameters

_PScheduler_PScheduler
경량 작업을 예약 하는 데 사용할 스케줄러에 대 한 포인터입니다.A pointer to the scheduler to be used for scheduling light-weight tasks.

_PScheduleGroup_PScheduleGroup
경량 작업을 예약 하는 데 사용할 일정 그룹에 대 한 포인터입니다.A pointer to the schedule group to be used for scheduling light-weight tasks.

_Handler_Handler
콜백 중에 호출 되는 처리기 함수입니다.The handler functor invoked during callback.

initialize_batched_processinginitialize_batched_processing

일관 처리된 메시지 처리 초기화Initialize batched message processing

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

매개 변수Parameters

_Processor_Processor
콜백 중에 호출 된 프로세서 함수입니다.The processor functor invoked during callback.

_Propagator_Propagator
콜백 중에 호출 된 전파자 함수입니다.The propagator functor invoked during callback.

ordered_message_processorordered_message_processor

ordered_message_processor 개체를 생성합니다.Constructs an ordered_message_processor object.

ordered_message_processor();

설명Remarks

ordered_message_processorinitialize 함수가 호출 될 때까지 비동기 또는 동기 처리기를 예약 하지 않습니다.This ordered_message_processor will not schedule asynchronous or synchronous handlers until the initialize function is called.

~ ordered_message_processor~ordered_message_processor

ordered_message_processor 개체를 소멸 시킵니다.Destroys the ordered_message_processor object.

virtual ~ordered_message_processor();

설명Remarks

프로세서를 소멸 시키기 전에 처리 중인 모든 비동기 작업을 대기 합니다.Waits for all outstanding asynchronous operations before destroying the processor.

process_incoming_messageprocess_incoming_message

비동기식으로 호출 되는 처리 함수입니다.The processing function that is called asynchronously. 메시지를 큐에서 제거 하 고 처리를 시작 합니다.It dequeues messages and begins processing them.

virtual void process_incoming_message();

sync_sendsync_send

메시지를 동기적으로 큐에 대기 시키고 처리 태스크를 시작 합니다 (아직 수행 하지 않은 경우).Synchronously queues up messages and starts a processing task, if this has not been done already.

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

매개 변수Parameters

_Msg_Msg
메시지에 대 한 포인터입니다.A pointer to a message.

대기한wait

블록을 제거 하기 전에 모든 비동기 처리 작업을 완료할 시간이 있는지 확인 하기 위해 메시지 블록의 소멸자에 사용 되는 프로세서 특정 spin wait입니다.A processor-specific spin wait used in destructors of message blocks to make sure that all asynchronous processing tasks have time to finish before destroying the block.

virtual void wait();

참고 항목See also

concurrency 네임스페이스concurrency Namespace