プロジェクト

全般

プロフィール

機能 #3395

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

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

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

100%

予定工数:

説明

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

関係しているリビジョン

リビジョン 799 (差分)
win-ei約8年前に追加

Not implemented yet. refs #3395

リビジョン 800 (差分)
win-ei約8年前に追加

Not implemented yet. refs #3395

リビジョン 847 (差分)
win-ei7年以上前に追加

Fixed bugs. refs #3395

リビジョン 848 (差分)
win-ei7年以上前に追加

Fixed bugs. refs #3395

リビジョン 849 (差分)
win-ei7年以上前に追加

Fixed bugs. refs #3395

リビジョン 850 (差分)
win-ei7年以上前に追加

Fixed bugs. refs #3395

リビジョン 851 (差分)
win-ei7年以上前に追加

Fixed bugs. refs #3395

リビジョン 852 (差分)
win-ei7年以上前に追加

Fixed bugs. refs #3395

リビジョン 853 (差分)
win-ei7年以上前に追加

Fixed bugs. refs #3395

リビジョン 854 (差分)
win-ei7年以上前に追加

Fixed bugs. refs #3395

リビジョン 855 (差分)
win-ei7年以上前に追加

Fixed bugs. refs #3395

リビジョン 856 (差分)
win-ei7年以上前に追加

Fixed bugs. refs #3395

リビジョン 857 (差分)
win-ei7年以上前に追加

Fixed bugs. refs #3395

リビジョン 858 (差分)
win-ei7年以上前に追加

Fixed bugs. refs #3395

リビジョン 860 (差分)
win-ei7年以上前に追加

Fixed bugs. refs #3395

リビジョン 861 (差分)
win-ei7年以上前に追加

Fixed bugs. refs #3395

リビジョン 862 (差分)
win-ei7年以上前に追加

Added libraries for JNA. refs #3395

リビジョン 863 (差分)
win-ei7年以上前に追加

Added JNA libraries to the classpath. refs #3395

リビジョン 864 (差分)
win-ei7年以上前に追加

Added processing of SharedMemory of windows edition. refs #3395

リビジョン 865 (差分)
win-ei7年以上前に追加

Added JNA libraries to the classpath. refs #3395

リビジョン 866 (差分)
win-ei7年以上前に追加

Modified to include JNA libraries in jar.zip. refs #3395

履歴

#1 win-ei7年以上前に更新

動作確認

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
      

#2 win-ei7年以上前に更新

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 する。

#3 katami が6年以上前に更新

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

#4 katami が6年以上前に更新

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

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