14#ifndef SIMICS_SYSTEMC_IFACE_EXTENSION_SENDER_H
15#define SIMICS_SYSTEMC_IFACE_EXTENSION_SENDER_H
32template<
typename TSocket>
36 : socket_(NULL), delay_(
sc_core::SC_ZERO_TIME), payload_(NULL) {
38 void init(TSocket *socket) {
57 SC_REPORT_ERROR(
"/intel/ExtensionSender",
58 "Extension not processed correctly.");
64 sc_core::sc_time delay_;
65 tlm::tlm_generic_payload *payload_;
Interface used by Extension class to send the extension.
Definition: extension_sender_interface.h:24
Generic extension sender initialized with a TLM2 initiator socket of TSocket type.
Definition: extension_sender.h:33
void send_extension(Transaction *transaction) override
Called by extension after the extension is set on the payload.
Definition: extension_sender.h:53
void init(TSocket *socket)
Definition: extension_sender.h:38
ExtensionSender()
Definition: extension_sender.h:35
virtual ~ExtensionSender()
Definition: extension_sender.h:60
Transaction transaction() override
Called by extension to get a new Transaction.
Definition: extension_sender.h:47
void set_delay(sc_core::sc_time delay)
Definition: extension_sender.h:41
void send_failed(Transaction *transaction) override
Called by extension if method_call invocation was missing.
Definition: extension_sender.h:56
void set_payload(tlm::tlm_generic_payload *payload)
Definition: extension_sender.h:44
A memory manager that implements the tlm::tlm_mm_interface providing a pool of transaction objects.
Definition: transaction_pool.h:32
Transaction acquire()
Definition: transaction_pool.h:78
Class that encapsulates a generic_payload and returns it to the TransactionPool when the Transaction ...
Definition: transaction.h:29
Definition: argument_registry.h:24