OpenRTM MLの皆さま: 早大の菅です. いつもお世話になっております.
DataPortのPull型接続についてお尋ねします.
以前も安藤様や皆さまに申し上げたことがありますが, スキャナなどのデバイスRTC(Provider)をロボットに載せた場合, Providerからスキャナに対してのデータの取り込みを Consumer側のタイミングで起こしたい場合があります. このために,ConsumerにあるInPortにreadを呼び出したタイミングで, Provider側にイベントを起こすことが出来ますか?
■以下,具体的な話です
今の僕の認識だと,RELEASE版において, これまでのpush型接続ですとConsumer側のRTCプロセス, つまりInPort側がバッファを持っており, それに対してProvider側のRTCプロセス, つまりOutPort側がInPortConsumerインターフェースのputメソッドで アクセスしていて,このタイミングをサブスクリプションで変えられる.
新しいpull型接続ですとその逆でOutPort側にバッファが存在し, InPort側はOutPortConsumerのgetメソッドで, バッファにアクセスしていますよね?
そこで質問というか,要望なのですが, OutPortProvider側の(実装はOutPortCorbaCdrProviderクラス)の getメソッド内でバッファにreadを読んでいますが, この直前にイベントリスナーを仕掛けられませんか?
現状ですと,ConnectorDataListenerクラスを使って追加出来る イベントハンドラは,すべてread後になっており, 所望の動作が出来ません. サービスポートでreadメソッドを実装するのは簡単なのですが, できればread動作はDataPortの枠組みで出来ないかな,といつも思っています.
いかがでしょうか? ご意見をお聞かせください.
モーションエディタ/シミュレータ
動力学シミュレータ
統合開発プラットフォーム
産総研が提供するRTC集
東京オープンソースロボティクス協会
ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク
OpenRTM MLの皆さま:
早大の菅です.
いつもお世話になっております.
DataPortのPull型接続についてお尋ねします.
以前も安藤様や皆さまに申し上げたことがありますが,
スキャナなどのデバイスRTC(Provider)をロボットに載せた場合,
Providerからスキャナに対してのデータの取り込みを
Consumer側のタイミングで起こしたい場合があります.
このために,ConsumerにあるInPortにreadを呼び出したタイミングで,
Provider側にイベントを起こすことが出来ますか?
■以下,具体的な話です
今の僕の認識だと,RELEASE版において,
これまでのpush型接続ですとConsumer側のRTCプロセス,
つまりInPort側がバッファを持っており,
それに対してProvider側のRTCプロセス,
つまりOutPort側がInPortConsumerインターフェースのputメソッドで
アクセスしていて,このタイミングをサブスクリプションで変えられる.
新しいpull型接続ですとその逆でOutPort側にバッファが存在し,
InPort側はOutPortConsumerのgetメソッドで,
バッファにアクセスしていますよね?
そこで質問というか,要望なのですが,
OutPortProvider側の(実装はOutPortCorbaCdrProviderクラス)の
getメソッド内でバッファにreadを読んでいますが,
この直前にイベントリスナーを仕掛けられませんか?
現状ですと,ConnectorDataListenerクラスを使って追加出来る
イベントハンドラは,すべてread後になっており,
所望の動作が出来ません.
サービスポートでreadメソッドを実装するのは簡単なのですが,
できればread動作はDataPortの枠組みで出来ないかな,といつも思っています.
いかがでしょうか?
ご意見をお聞かせください.