サブスクリプション型
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/01/03 09:28 UTC 版)
「OpenRTM-aist」の記事における「サブスクリプション型」の解説
データフロー型でpush型を選択したときに変更できる設定パラメータで、送信側RTコンポーネントがOutPortに書き込んだ際に、受信側にデータが実際に送信されるタイミングを調整することができる。 サブスクリプション型がflushである場合は、RTコンポーネントがOutPortにデータを書き込んだ際に直ちにデータが送信される。マーシャリングと送信は書き込みを実行したスレッドが引き受けるため、周期処理中にデータを書き込んだ場合は、送信の遅延も同じスレッドが負担することになる。 一方、サブスクリプション型にnewを選択した場合は、OutPortにデータを書き込んだ際にデータはOutPort内のバッファに書き込まれ、直ちに処理が返る。このとき、書き込みと同時に別のスレッドを立ち上げて、新しいスレッド内で送信を行う。 サブスクリプション型にperiodicを選択した場合は、newと同様にOutPort内のバッファにデータが書き込まれるが、書き込みとは別のスレッドが周期的にバッファを監視しており、バッファに書き込みがあった場合はそのスレッドがデータを送信する。periodicを選択した場合は、バッファ監視の周期を設定する必要がある。
※この「サブスクリプション型」の解説は、「OpenRTM-aist」の解説の一部です。
「サブスクリプション型」を含む「OpenRTM-aist」の記事については、「OpenRTM-aist」の概要を参照ください。
- サブスクリプション型のページへのリンク