17#ifndef __ROGUE_INTERFACES_MEMORY_TCP_CLIENT_H__
18#define __ROGUE_INTERFACES_MEMORY_TCP_CLIENT_H__
26#include <condition_variable>
58 std::string respAddr_;
73 std::shared_ptr<rogue::Logging> bridgeLog_;
80 std::mutex bridgeMtx_;
84 std::condition_variable probeCond_;
88 std::string probeResult_;
89 bool waitReadyOnStart_;
109 static std::shared_ptr<rogue::interfaces::memory::TcpClient>
create(std::string addr, uint16_t port,
bool waitReady =
false);
167 bool waitReady(
double timeout,
double period);
184 void doTransaction(std::shared_ptr<rogue::interfaces::memory::Transaction> tran);
190typedef std::shared_ptr<rogue::interfaces::memory::TcpClient>
TcpClientPtr;
Memory TCP bridge client.
void close()
Closes bridge connections.
static std::shared_ptr< rogue::interfaces::memory::TcpClient > create(std::string addr, uint16_t port, bool waitReady=false)
Creates a TCP memory bridge client.
~TcpClient()
Destroys the TCP client and releases transport resources.
bool waitReady(double timeout, double period)
Wait for the remote TcpServer path to respond to a bridge probe.
void stop()
Stops the bridge interface and worker thread.
void start()
Managed-lifecycle startup hook.
static void setup_python()
Registers this type with Python bindings.
void doTransaction(std::shared_ptr< rogue::interfaces::memory::Transaction > tran)
Processes a transaction received from the upstream master.
std::shared_ptr< rogue::interfaces::memory::TcpClient > TcpClientPtr
Shared pointer alias for TcpClient.