操作
機能 #3391
未完了⑦ トピックベースのポート接続機能
開始日:
2015/12/11
期日:
進捗率:
100%
予定工数:
説明
DDSのようなトピックベースのポート接続機能を実装すること。ただし、この機能はデータポート、サービスポートにも利用できるように実装すること。
win-ei さんが約8年前に更新
動作確認¶
動作確認用のコンポーネント(TopicTest)を作成して動作確認
- 動作確認用のコンポーネントの概要
コンポーネントはSimleIOのConsoleInとConsoleOutを改造。
コンポーネントにはデータポートとサービスポートを実装。
InPort、OutPort、CorbaPortを継承して、それぞれのコンストラクタでappendProperty()で"publish_topic"を追加。
コンポーネント名はConsoleInとConsoleOut。
コンポーネントを実行するスクリプト名はTopicConssoleIn.shとTopicConssoleOut.sh。
- 動作確認用のコンポーネント を起動後 rtcat -l でポートが接続されることを確認
$ rtcat localhost/ConsoleIn0.rtc -l ConsoleIn0.rtc Inactive Category example Description Console input component Instance name ConsoleIn0 Type name ConsoleIn Vendor Noriaki Ando, AIST Version 1.0 Parent Type Monolithic +Extra properties -Execution Context 0 State Running Kind Periodic Rate 1000.0 +Extra properties -DataOutPort: topic_out dataport.data_type IDL:RTC/TimedLong:1.0 dataport.data_value rtctree.rtc.RTC.TimedLong(tm=rtctree.rtc.RTC.Time(sec=0L, nsec=0L), data=0) dataport.dataflow_type push,pull dataport.interface_type direct,shared_memory,corba_cdr dataport.subscription_type new, flush, periodic port.port_type DataOutPort publish_topic test +Connected to /localhost/ConsoleOut0.rtc:topic_in -CorbaPort: topic_service port.port_type CorbaPort publish_topic test Interface: Instance name topic_service Type name TestService Polarity Provided +Connected to /localhost/ConsoleOut0.rtc:topic_service
$ rtcat localhost/ConsoleOut0.rtc -l ConsoleOut0.rtc Inactive Category example Description Console output component Instance name ConsoleOut0 Type name ConsoleOut Vendor Noriaki Ando, AIST Version 1.0 Parent Type Monolithic +Extra properties -Execution Context 0 State Running Kind Periodic Rate 1000.0 +Extra properties -DataInPort: topic_in dataport.data_type IDL:RTC/TimedLong:1.0 dataport.dataflow_type push,pull dataport.interface_type direct,shared_memory,corba_cdr dataport.subscription_type Any port.port_type DataInPort publish_topic test +Connected to /localhost/ConsoleIn0.rtc:topic_out -CorbaPort: topic_service port.port_type CorbaPort publish_topic test Interface: Instance name service Type name Service Polarity Required +Connected to /localhost/ConsoleIn0.rtc:topic_service
操作