incoming_port)
にport_Bという名の
外部システムのポートが接続されているとする。
if ( !port_B.have_packet()
|| ( port_B.have_packet()
&& port_B.inst_id() == -1 ) ) {
port_B.set_inst_id(inst_id);
port_B.set_addr(addr);
port_B.set_data(data);
port_B.set_data2(data2);
port_B.set_data_half(data_half);
port_B.set_data_byte(data_byte);
port_B.set_data_size(data_size);
port_B.set_reply();
port_B.set_puid(puid);
}
|
puid、inst_idには
受信したときと同じ値を代入する必要がある。
また、読み出しデータの送信要求であることを
set_reply()によって通知する。
if文の条件にport_B.inst_id() == -1を付加することによって、
情報取得されていないパケットへの上書きを避けることができる。