[openrtm-users 00950] Re: 同一インターフェースのProvider,Consumerを持つサービスポートの不具合(OpenRTM-aist 0.4.2 C++)

Ando Noriaki n-ando @ aist.go.jp
2009年 9月 10日 (木) 21:12:04 JST


安藤です

2009年9月10日9:52 Takashi Kojima <tkjim48 @ gmail.com>:
> 安藤様
>
>>> 確認なのですが、
>>> 現在の仕組みでは、すなわち、登録可能なサービスが2つ以上あった場合には、接続がおこなわれると、
>>> 接続された先のServiceが、2つとも実行されるかと思ったのですが、最初に見つかったほうのみ、呼び出される
>>> という仕様でよろしいでしょうか?
>>> (検索する先がソートされた後ならば一定だが、そうでない場合は不定になる可能性もある)
>>
>> 基本的には、インターフェースのインスタンス名はかぶらないという前提です。
>>
>> ご質問は、仮に同名のプロバイダが複数と、コンシューマが1個の場合、
>> どのように接続されるか、ということでしょうか?
>> でしたら、最初に見つかったものがコンシューマに関連付けられ
>> それだけが呼び出されるという動作であっています。
>>
>> コンシューマで使用さされる CorbaConsumer はCORBAオブジェクトの
>> 単なるプロキシなので、一回の呼び出しで複数の別のオブジェクトが
>> それぞれ呼び出されるという動作はしません。
>
> はい、同名のプロバイダに接続されてしまっている時の挙動を確認したいと思っておりました。
> 最初にみつかったもののみ、呼び出される旨を承知いたしました。
>
> 双方向で、お互いにある同じサービスが授受できる仕組みを一つのポートでできないかと考え、
> インターフェース名が同じものを持つ仕組みを作ってしまいました。
> これを実現するには、ポートを別々にするしか手はなさそうですね。

いえ、前回のメールで示した通り、インスタンス名を分ければ可能なはずです。



-- 
安藤慶昭@独立行政法人産業技術総合研究所 研究員
                  知能システム研究部門 統合知能研究グループ
                  〒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 メーリングリストの案内