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

原 功 isao-hara @ aist.go.jp
2011年 1月 13日 (木) 09:04:50 JST


皆様:

産総研の原です。

On 2011/01/13, at 0:13, kurihara shinji wrote:
> 
>> pull型でも送信側としては送り出したデータが相手に到達したのか?は知りたい
>> ケースがあるかと思います。
> OutPort側のget()がreturnする直前でON_RECEIVEDをコールするように変更する事は
> 可能ですが、この場合、「InPortへのデータ送信が完了したという保証はできない」
> といった条件がつきます。
> これでもよろしければ、pull型の接続でもOutPort側でON_RECEIVEDコールバックを
> コールするように変更致します。
> タイミング的には、 ON_BUFFER_READ→ON_SEND->ON_RECEIVED(ON_SENDの直後)となりま
> す。
> 
> この件に関しまして、皆様のご意見をいただければと存じます。


この件ですが、get()がreturnする直前では、厳密には、データを送信していません。
ON_SENDの前になるはずです。上記のような実装だと、ON_SEND=ON_RECEIVEDと
なると思います。
現在の実装では、pull型であれば、ON_RECEIVEDをコールすることは、厳密には難しいと思いますので、
ON_RECIEVEDを使いたい場合には、push型の接続を使うのではないでしょうか。

------------------------------------------------------------
産業技術総合研究所   知能システム研究部門 インタラクションモデリングG
主任研究員 原  功 <Isao-Hara @ aist.go.jp>
Isao HARA, Senior Researcher, ISRI, ,AIST,Japan
TEL: +81-29-861-5973       FAX: +81-29-862-6631









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