Project

General

Profile

機能 #3408

⑨ サービスポートのダイレクト接続機能

Added by n-ando almost 6 years ago. Updated about 4 years ago.

Status:
終了
Priority:
通常
Assignee:
Start date:
12/22/2015
Due date:
03/25/2016
% Done:

100%

Estimated time:
30.00 h

Description

同一プロセス内のデータポート接続において、required i/fがprovided i/fを呼び出すのに、オブジェクトリファレンス経由ではなく、マーシャリングをバイパスサーバントを直接呼ぶようにする機能を実装すること。

Associated revisions

Revision 640 (diff)
Added by miyamoto over 5 years ago

[compat,->RELENG_1_2] Direct connect functionality with service ports has been implemented. refs #3408

Revision 651 (diff)
Added by miyamoto over 5 years ago

[compat,->RELENG_1_2] Direct connect functionality with service ports has been implemented. refs #3408

Revision 728 (diff)
Added by miyamoto almost 5 years ago

[compat,bugfix,->RELENG_1_2] fixed bug. refs #3408

History

#1 Updated by miyamoto almost 6 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

#2 Updated by miyamoto almost 6 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

変数宣言のためにコンストラクタにもコードを追加した。

#3 Updated by miyamoto over 5 years ago

  • % Done changed from 50 to 100

#4 Updated by n-ando about 4 years ago

  • Status changed from 新規 to 終了

Also available in: Atom PDF