27    tlm_utils::simple_target_socket<inlinesync, DEFAULT_TLM_BUSWIDTH> target_socket;
 
   28    tlm_utils::simple_initiator_socket<inlinesync, DEFAULT_TLM_BUSWIDTH> initiator_socket;
 
   30    inlinesync(
const sc_core::sc_module_name& name)
 
   31        : sc_module(name), onSystemC(), target_socket(
"targetSocket"), initiator_socket(
"initiatorSocket")
 
   33        target_socket.register_b_transport(
this, &inlinesync::b_transport);
 
   34        initiator_socket.register_invalidate_direct_mem_ptr(
this, &inlinesync::invalidate_direct_mem_ptr);
 
   37    void b_transport(tlm::tlm_generic_payload& 
trans, sc_core::sc_time& delay)
 
   39        run_on_sysc([
this, &
trans, &delay]() {
 
   40            sc_core::sc_unsuspendable();
 
   41            initiator_socket->b_transport(
trans, delay);
 
   42            sc_core::sc_suspendable();
 
   46    void get_direct_mem_ptr(tlm::tlm_generic_payload& 
trans, tlm::tlm_dmi& dmi_data)
 
   48        run_on_sysc([
this, &
trans, &dmi_data]() { initiator_socket->get_direct_mem_ptr(
trans, dmi_data); });
 
   50    void transport_dgb(tlm::tlm_generic_payload& 
trans)
 
   52        run_on_sysc([
this, &
trans]() { initiator_socket->transport_dbg(
trans); });
 
 
bool run_on_sysc(std::function< void()> job_entry, bool wait=true)
Run a job on the SystemC kernel thread.
Definition runonsysc.h:183