Project

General

Profile

Actions

機能 #3408

closed

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

Added by n-ando about 9 years ago. Updated over 7 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を呼び出すのに、オブジェクトリファレンス経由ではなく、マーシャリングをバイパスサーバントを直接呼ぶようにする機能を実装すること。

Actions #1

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
Actions #2

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 #3

Updated by miyamoto almost 9 years ago

  • % Done changed from 50 to 100
Actions #4

Updated by n-ando over 7 years ago

  • Status changed from 新規 to 終了
Actions

Also available in: Atom PDF