note description: "An extension to the generated factory with profiling instrumentation" author: "Comerge AG, DR" date: "$Date$" revision: "$Revision$" class AP_PROFILING_MESSAGE_FACTORY inherit AP_MESSAGE_FACTORY redefine new_message_from_ems_message end PROFILING_UTILS create make feature -- Measurement ems_timestamps: DS_ARRAYED_LIST [INTEGER_64] -- timestamps of the sender in the ems layer new_message_from_ems_message (a_msg: MESSAGE): A_MESSAGE local l_timestamp: INTEGER_64 do -- Measure time -- TODO It would be nicer to put this in ems.handle_mom_messages right after the MESSAGE has been received l_timestamp := compute_timestamp_now node.ems_timestamps.force_last (l_timestamp) Result := Precursor (a_msg) end set_node(a_node: AP_PROFILING_NODE) require not_void: a_node /= Void do node := a_node end feature {NONE} -- Implementation node: AP_PROFILING_NODE -- the profiling node end