다음을 통해 공유


message_processor 클래스

message_processor 클래스는 message 개체 처리를 위한 추상 기본 클래스입니다. 메시지 순서에 대한 보장은 없습니다.

구문

template<class T>
class message_processor;

매개 변수

T
message_processor 개체에서 처리하는 메시지 내에서 페이로드의 데이터 형식입니다.

멤버

공용 Typedefs

이름 설명
type 에 대한 형식 별칭입니다 T.

공용 메서드

이름 설명
async_send 파생 클래스에서 재정의되는 경우 메시지를 블록에 비동기적으로 배치합니다.
sync_send 파생 클래스에서 재정의되는 경우 메시지를 블록에 동기적으로 배치합니다.
wait 파생 클래스에서 재정의되는 경우 모든 비동기 작업이 완료될 때까지 기다립니다.

보호된 메서드

속성 설명
process_incoming_message 파생 클래스에서 재정의되는 경우 블록으로 메시지의 전달 처리를 수행합니다. 새 메시지가 추가되고 큐가 비어 있을 때마다 한 번씩 호출됩니다.

상속 계층 구조

message_processor

요구 사항

헤더: agents.h

네임스페이스: 동시성

async_send

파생 클래스에서 재정의되는 경우 메시지를 블록에 비동기적으로 배치합니다.

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

매개 변수

_메시지
message 비동기적으로 보낼 개체입니다.

설명

프로세서 구현은 이 메서드를 재정의해야 합니다.

process_incoming_message

파생 클래스에서 재정의되는 경우 블록으로 메시지의 전달 처리를 수행합니다. 새 메시지가 추가되고 큐가 비어 있을 때마다 한 번씩 호출됩니다.

virtual void process_incoming_message() = 0;

설명

메시지 블록 구현은 이 메서드를 재정의해야 합니다.

sync_send

파생 클래스에서 재정의되는 경우 메시지를 블록에 동기적으로 배치합니다.

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

매개 변수

_메시지
message 동기적으로 보낼 개체입니다.

설명

프로세서 구현은 이 메서드를 재정의해야 합니다.

wait

파생 클래스에서 재정의되는 경우 모든 비동기 작업이 완료될 때까지 기다립니다.

virtual void wait() = 0;

설명

프로세서 구현은 이 메서드를 재정의해야 합니다.

참고 항목

concurrency 네임스페이스
ordered_message_processor 클래스