操作
機能 #3404
完了⑤ コンポーネント起動時に事前設定に従い起動時にポート同士を接続する(非同一プロセス)
開始日:
2015/12/22
期日:
2016/03/25
進捗率:
100%
予定工数:
20.00時間
説明
コンポーネントコンフィギュレーションファイルに設定することで、起動時にネームサーバに登録されているコンポーネントのポート同士を接続する機能を実装すること。
ファイル
miyamoto さんがほぼ9年前に更新
- 進捗率 を 0 から 50 に変更
#3402で実装したinitPreConnection関数内に非同一プロセスで起動したRTCのポートを接続する機能を追加した。
具体的には#3411のrtcloc形式、および#3401で実装したrtcname形式が利用できる。
rtcname形式は以下のように記述できる。
rtc.confには以下のように記述する事で、ポートの接続が行われる。
manager.components.preconnect:rtcloc://localhost:2810/example/TestComp20.in^TestComp10.out() manager.components.preconnect:rtcname://localhost:2809/test.host_cxt/TestComp20.in^TestComp10.out()
ポート名の間には":"を記述していたが、rtcloc形式の記述内に":"が存在するため"^"に変更した。
ポートを保持しているオブジェクトリファレンスの取得には#3411で実装したNamingManagerクラスのstring_to_component関数を利用した。
またrtcname形式でのオブジェクトリファレンス取得のためにCorbaOnNamingクラスにstring_to_component関数を追加した。
miyamoto さんがほぼ9年前に更新
- ファイル test_Manager_new2.py test_Manager_new2.py を追加
添付のコードのtest_PreConnection関数でテストを行った。
まず2つのプロセスでRTCを起動し、managerのinit関数で別プロセスで起動したRTCのポートと接続するように設定した。そしてtest_PreConnection関数内でalready_connected関数により接続を確認した。
操作