Actions
機能 #3408
closed⑨ サービスポートのダイレクト接続機能
Start date:
12/22/2015
Due date:
03/25/2016
% Done:
100%
Estimated time:
30.00 h
Description
同一プロセス内のデータポート接続において、required i/fがprovided i/fを呼び出すのに、オブジェクトリファレンス経由ではなく、マーシャリングをバイパスサーバントを直接呼ぶようにする機能を実装すること。
Updated by miyamoto about 9 years ago
- Due date set to 03/25/2016
- Assignee set to miyamoto
- Target version set to RELEASE_1_2_0
- % Done changed from 0 to 50
- Estimated time set to 30.00 h
Updated by miyamoto about 9 years ago
CorbaConsumerクラスの_ptr関数を変更した。
_ptr関数の動作の手順を説明する。
後述するが、reference_to_servant関数でサーバントが取得できたときに以下の変数_sevに格納する。
このため_sevにサーバントが既に格納している場合は_sevを返す。if self._sev is not None:
return self._sev
以下のコードではオブジェクトリファレンスをサーバントに変換し、変換に成功した場合は_sevに格納して返している。変換に失敗した場合は従来通りオブジェクトリファレンスを返す。try:
mgr = OpenRTM_aist.Manager.instance()
self._sev = mgr._poa.reference_to_servant(self._var)
if self._sev is not None:
return self._sev
except:
return self._var
変数宣言のためにコンストラクタにもコードを追加した。
Actions