プロジェクト

全般

プロフィール

機能 #3408

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

n-ando8年以上前に追加. 6年以上前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
開始日:
2015/12/22
期日:
2016/03/25
進捗率:

100%

予定工数:
30.00時間

説明

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

関係しているリビジョン

リビジョン 640 (差分)
miyamoto約8年前に追加

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

リビジョン 651 (差分)
miyamoto約8年前に追加

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

リビジョン 728 (差分)
miyamoto7年以上前に追加

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

履歴

#1 miyamoto8年以上前に更新

  • 期日2016/03/25 にセット
  • 担当者miyamoto にセット
  • 対象バージョンRELEASE_1_2_0 にセット
  • 進捗率0 から 50 に変更
  • 予定工数30.00時間 にセット

#2 miyamoto8年以上前に更新

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 miyamoto約8年前に更新

  • 進捗率50 から 100 に変更

#4 n-ando6年以上前に更新

  • ステータス新規 から 終了 に変更

他の形式にエクスポート: Atom PDF