Project

General

Profile

バグ #4399

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

Added by katami over 5 years ago. Updated over 5 years ago.

Status:
担当
Priority:
通常
Assignee:
katami
Target version:
-
Start date:
12/26/2017
Due date:
% Done:

100%

Estimated time:

Description

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

Associated revisions

Revision 1087 (diff)
Added by t-katami over 5 years ago

[compat,bugfix,->RELENG_1_2] Fixed the bug. refs #4399

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)

Also available in: Atom PDF