バグ #4399
open
preconnectで接続した場合、ON_BUFFER_WRITEコールバックが呼び出されない。
Added by katami about 8 years ago.
Updated about 8 years ago.
Description
preconnectを使わず、システムエディタやrtconで接続した場合は、コールバックは呼び出される。
ConnectorDataListenerT<DataType> リスナクラス(ジェネリクス)で、以下のように指定してpreconnectで接続した場合、不具合が発生する。
manager.components.preconnect: Throughput0.out^Throughput0.in(dataflow_type=push&interface_type=corba_cdr)
上記の設定でpreconnect接続した場合、ConnectorProfileのdataport.data_typeが設定されない。
パラメータの指定により型が決まる(addInPort/addOutPort/InPort::addConnectorDataListener)仕様。
ConnectorDataListenerTは、実行時に型が指定できる。
ConnectorDataListenerTコールバック呼び出しの際に、ConnectorProfileのdataport.data_typeとポートのdataport.data_typeを比較している。
これは、コールバック関数内でデータを扱う際に、データ型不一致による例外発生を防ぐため。
ConnectorProfileのdataport.data_typeが未設定の場合は、データ型が不一致として、コールバックが呼び出されなかった。
ConnectorProfileのdataport.data_typeが未設定の場合は、コールバックするように修正。
- Target version set to RELEASE_1_2_0
- % Done changed from 0 to 100
- Target version deleted (
RELEASE_1_2_0)
Also available in: Atom
PDF