[openrtm-users 01180] pull型接続でのイベントハンドラについて

1 post / 0 new
root
Offline
Last seen: 1 day 1 min ago
Joined: 2009-06-23 14:31
[openrtm-users 01180] pull型接続でのイベントハンドラについて

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の枠組みで出来ないかな,といつも思っています.

いかがでしょうか?
ご意見をお聞かせください.

Undefined

Download

latest Releases : 2.0.0-RELESE

2.0.0-RELESE Download page

Number of Projects

Choreonoid

Motion editor/Dynamics simulator

OpenHRP3

Dynamics simulator

OpenRTP

Integrated Development Platform

AIST RTC collection

RT-Components collection by AIST

TORK

Tokyo Opensource Robotics Association

DAQ-Middleware

Middleware for DAQ (Data Aquisition) by KEK