Project

General

Profile

Actions

機能 #3395

open

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

Added by n-ando over 8 years ago. Updated almost 7 years ago.

Status:
担当
Priority:
通常
Assignee:
Start date:
12/11/2015
Due date:
% Done:

100%

Estimated time:

Description

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

Actions #1

Updated by win-ei almost 8 years ago

動作確認

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

Updated by win-ei over 7 years ago

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 する。
Actions #3

Updated by katami almost 7 years ago

  • Status changed from 新規 to 担当
  • Assignee set to win-ei
  • % Done changed from 0 to 100
Actions #4

Updated by katami almost 7 years ago

  • Target version set to RELEASE_1_2_0
Actions

Also available in: Atom PDF