12#ifndef _GS_LOOP_BACK_BACKEND_H_ 
   13#define _GS_LOOP_BACK_BACKEND_H_ 
   17#include <tlm_utils/simple_target_socket.h> 
   19#include <ports/biflow-socket.h> 
   20#include <module_factory_registery.h> 
   22#include <scp/report.h> 
   34    loop_back_backend(sc_core::sc_module_name name): sc_core::sc_module(name), socket(
"biflow_socket")
 
   42    void b_transport(tlm::tlm_generic_payload& 
txn, sc_core::sc_time& 
t)
 
   46        for (
unsigned int i = 0; 
i < 
txn.get_streaming_width(); 
i++) {
 
   47            socket.
enqueue(
static_cast<unsigned char>(data[
i]));
 
   48            SCP_DEBUG(())(
"loop_back_backend: sending {}", 
static_cast<char>(data[
i]));
 
 
   54extern "C" void module_register();
 
Definition biflow-socket.h:73
void can_receive_any()
can_receive_any Allow unlimited items to arrive.
Definition biflow-socket.h:264
void enqueue(T data)
enqueue Enqueue data to be sent (unlimited queue size) NOTE: Thread safe.
Definition biflow-socket.h:277
void register_b_transport(MODULE *mod, void(MODULE::*cb)(tlm::tlm_generic_payload &, sc_core::sc_time &))
Register b_transport to be called whenever data is received from the socket.
Definition biflow-socket.h:227
Definition loop_back_backend.h:24