[openrtm-users 00814] Re: ポートのコールバックに関する質問

Ando Noriaki n-ando @ aist.go.jp
2009年 6月 4日 (木) 09:46:21 JST


清水様

安藤です

2009/06/04 2:34 に Masayuki Shimizu<masayuki.shimizu @ aist.go.jp> さんは書きました:
> OpenRTM-aist開発者の皆様
>
> 1.0.0で、InPortのOnWrite系のコールバックは
> 実質無効になったように思うのですが、どうでしょうか?
>
> 0.4系では、InPortのOnWriteコールバックは
> 有効だったと記憶しています。
> そのコールバックを利用して、入力ポートへの
> データ書き込み通知機能を独自に実装していた
> のですが、1.0.0でどう実現しようか悩んでいます。

すみません。InPortの構造が変わったために、RC1ではとりあえず無効にしました。
というのも、InPortBaseの構造を見ていただければわかると思いますが、
InPortProviderを接続毎に生成していますので、複数の接続がある場合には、
OnWriteの呼び出して、それらを区別する必要が出てくるためです。

今までは、InPortもバッファが1個だったので、バッファに対する
書き込みの直前にOnWriteコールバックを呼べば済んだのですが、
現在は実質接続毎にバッファを持つこともできますので、
それぞれへの書き込みに対してOnWriteをどう区別して呼ぶか問題になります。
方法としては、接続IDか接続名を引数にしてOnWriteを呼ぶ方法がありますが。

OutPortのコールバックについても接続毎にバッファを分けたことにより
同様の問題が生じます。

今のところ上記の方針で実装する予定ですが、
何か問題がありましたらお知らせください。

>
> InPortのOnWrite系コールバックの代替となる
> 他の仕組みが用意されているのでしょうか?
> それとも、完全廃止でしょうか?
>
> よろしくお願いいたします。
>
> 静岡大 清水
>
>



-- 
安藤慶昭@独立行政法人産業技術総合研究所 研究員
                  知能システム研究部門 統合知能研究グループ
                  〒305-8568 茨城県つくば市梅園1-1-1 中央第2
                  TEL: 029-861-5981 FAX: 029-862-6631
                  n-ando @ aist.go.jp, n-ando @ ieee.org



openrtm-users メーリングリストの案内