가이드 목록 | 이전: TLS와 WSS | 다음: Core 성능
Raw socket monitoring¶
이 장의 계약 소유 문서 — Monitoring이 다룬다. 이 챕터는 연결 상태를 관측하는 방법을 사용법 중심으로 설명한다.
Socket monitor는 data receive 경로를 바꾸지 않고 transport와 protocol event를 제공한다.
zlink_socket_monitor_open()으로 monitor를 열고 pull API로 소비한다.
Receive 방식¶
zlink_socket_monitor_recv()를 직접 호출하거나 monitor를 poller에 등록한다. 기존 event loop가
scheduling을 담당할 때 사용한다.
Poller 기반 pull¶
하나의 event loop가 scheduling을 소유하면 monitor를 poller에 등록한다. Readiness 뒤
zlink_socket_monitor_recv()로 event를 drain한다. Core에는 monitor callback 등록 경로가 없다.
Snapshot¶
zlink_monitor_status()는 pending message와 automatic HWM field를 포함한 현재 raw socket state와
진단 counter를 반환한다. Snapshot은 한 시점의 관찰 결과다. 전이 순서가 필요하면 event stream을 사용한다.
종료¶
zlink_monitor_close()로 monitor를 닫는다. Socket을 닫아도 monitor source가 종료된다. 두 handle을
함께 polling하는 코드는 어느 경로에서든 termination이 반환될 수 있음을 처리해야 한다.
Monitor event에는 application payload나 topology state가 포함되지 않는다.