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

1 つの投稿 / 0 new
root
オフライン
Last seen: 4日 7時間 前
登録日: 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の枠組みで出来ないかな,といつも思っています.

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

未定義

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2209
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク