バグ #4399
preconnectで接続した場合、ON_BUFFER_WRITEコールバックが呼び出されない。
Status:
担当
Priority:
通常
Assignee:
katami
Target version:
-
Start date:
12/26/2017
Due date:
% Done:
100%
Estimated time:
Description
preconnectを使わず、システムエディタやrtconで接続した場合は、コールバックは呼び出される。
Associated revisions
History
#1 Updated by katami over 5 years ago
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が未設定の場合は、コールバックするように修正。
#2 Updated by katami over 5 years ago
- Target version set to RELEASE_1_2_0
- % Done changed from 0 to 100
#3 Updated by katami over 5 years ago
- Target version deleted (
RELEASE_1_2_0)
[compat,bugfix,->RELENG_1_2] Fixed the bug. refs #4399