プロジェクト

全般

プロフィール

機能 #3395

未完了

⑪ 共有メモリ型データポート接続機能

n-ando さんが約9年前に追加. 7年以上前に更新.

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

100%

予定工数:

説明

同一ノード内のコンポーネント間のデータポート接続において、マーシャリング後のデータのPutを共有メモリ経由で行うことで、TCP/IPスタックを経由することなく高速にデータ転送する機能を実装すること。

win-ei さんが約8年前に更新

動作確認

ConsoluOut と ConsoluIn で動作確認

  • Java版同士の接続確認
    • 別々のターミナルで ConsoleOut(Java版) ConsoleIn(Java版) を起動する。
    • rtcon でポートが接続する
      $ rtcon ./localhost/ConsoleIn0.rtc:out ./localhost/ConsoleOut0.rtc:in --property dataport.interface_type=shared_memory  --roperty dataport.dataflow_type=pull 
      $ rtact ./localhost/ConsoleIn0.rtc
      $ rtact ./localhost/ConsoleOut0.rtc
      

      $ rtcon ./localhost/ConsoleIn0.rtc:out ./localhost/ConsoleOut0.rtc:in --property dataport.interface_type=shared_memory  --roperty dataport.dataflow_type=push 
      $ rtact ./localhost/ConsoleIn0.rtc
      $ rtact ./localhost/ConsoleOut0.rtc
      
  • Java版とpython版との接続確認
    • 別々のターミナルで ConsoleOut(python版) ConsoleIn(Java版) を起動する。
      $ rtcon ./localhost/ConsoleIn0.rtc:out ./localhost/ConsoleOut0.rtc:in --property dataport.interface_type=shared_memory --property dataport.dataflow_type=push --property dataport.serializer.cdr.endian=little
      $ rtact ./localhost/ConsoleIn0.rtc
      $ rtact ./localhost/ConsoleOut0.rtc
      

      $ rtcon ./localhost/ConsoleIn0.rtc:out ./localhost/ConsoleOut0.rtc:in --property dataport.interface_type=shared_memory --property dataport.dataflow_type=push --property dataport.serializer.cdr.endian=big
      $ rtact ./localhost/ConsoleIn0.rtc
      $ rtact ./localhost/ConsoleOut0.rtc
      
    • 別々のターミナルで ConsoleOut(Java版) ConsoleIn(Python版) を起動する。
      $ rtcon ./localhost/ConsoleIn0.rtc:out ./localhost/ConsoleOut0.rtc:in --property dataport.interface_type=shared_memory --property dataport.dataflow_type=push --property dataport.serializer.cdr.endian=little
      $ rtact ./localhost/ConsoleIn0.rtc
      $ rtact ./localhost/ConsoleOut0.rtc
      

      $ rtcon ./localhost/ConsoleIn0.rtc:out ./localhost/ConsoleOut0.rtc:in --property dataport.interface_type=shared_memory --property dataport.dataflow_type=push --property dataport.serializer.cdr.endian=big
      $ rtact ./localhost/ConsoleIn0.rtc
      $ rtact ./localhost/ConsoleOut0.rtc
      

win-ei さんが約8年前に更新

Windowsの場合

Java Native Access (JNA) を使用して、WindowsAPI(CreateFileMappingA、MapViewOfFile、UnmapViewOfFile、CloseHandle) を使用します。
JNA を使用するために、以下のライブラリを追加。
  • jna-4.2.2.jar
  • jna-platform-4.2.2.jar

動作確認

ConsoluOut と ConsoluIn で動作確認

  • Java版同士の接続確認
    • 別々のターミナルで ConsoleOut(Java版) ConsoleIn(Java版) を起動する。
    • RTSystemEditorRCP でポートを接続(interface_typeはshared_memory)して、ConsoleOut と ConsoleIn を Activate する。
  • Java版とpython版との接続確認
    • 別々のターミナルで ConsoleOut(python版) ConsoleIn(Java版) を起動する。
    • RTSystemEditorRCP でポートを接続(interface_typeはshared_memory)して、ConsoleOut と ConsoleIn を Activate する。
  • Java版とpython版との接続確認
    • 別々のターミナルで ConsoleOut(Java版) ConsoleIn(Python版) を起動する。
    • RTSystemEditorRCP でポートを接続(interface_typeはshared_memory)して、ConsoleOut と ConsoleIn を Activate する。

katami さんが7年以上前に更新

  • ステータス新規 から 担当 に変更
  • 担当者win-ei にセット
  • 進捗率0 から 100 に変更

katami さんが7年以上前に更新

  • 対象バージョンRELEASE_1_2_0 にセット

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