プロジェクト

全般

プロフィール

バグ #4399

未完了

preconnectで接続した場合、ON_BUFFER_WRITEコールバックが呼び出されない。

katami さんがほぼ7年前に追加. ほぼ7年前に更新.

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

100%

予定工数:

説明

preconnectを使わず、システムエディタやrtconで接続した場合は、コールバックは呼び出される。

katami さんがほぼ7年前に更新

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が未設定の場合は、コールバックするように修正。

katami さんがほぼ7年前に更新

  • 対象バージョンRELEASE_1_2_0 にセット
  • 進捗率0 から 100 に変更

katami さんがほぼ7年前に更新

  • 対象バージョン を削除 (RELEASE_1_2_0)

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