定周期発行

1 post / 0 new
Offline
Last seen: 10 years 1 month ago
Joined: 06/26/2013
Posts: 15
Asynchronouse Publisherを使用してTopicを周期的に発行したいときのタイミング調整について

通常、Topicの発行はwrite()実行時となります。(write()を呼ぶと、直接socket bufferに書き込み、書き込みが終わるとreturnします。)

しかし、Asynchronous Publisherを使用する(Large Data Topic発行時を含む)と、Topicはpublisher thread に渡され、FlowControllerのscheduling_
policyに従って発行されます。この時、write()はpublisher threadにTopicを渡し次第すぐにreturnします。(publisher thread はAsynchronous Publisher の使用時にのみ生成されます。)

FlowControllerのQosは以下の三種類があります。
DDS_RR_FLOW_CONTROLLER_SCHED_POLICY: ラウンドロビン
DDS_EDF_FLOW_CONTROLLER_SCHED_POLICY: デッドライン順
DDS_HPF_FLOW_CONTROLLER_SCHED_POLICY: プライオリティ順

これらのQoSでは、Topicの発行タイミングはConnextが内部で設定します。

Subscribe to RSS - 定周期発行