30 bool send(
const void*
data,
size_t len, uint64_t timeout_ns)
override;
32 void release(
size_t message_size)
override;
33 void close()
override;
Abstract interface for IPC client.
IPC client implementation using Unix domain sockets.
void release(size_t message_size) override
Release the previously received message.
SocketClient & operator=(const SocketClient &)=delete
SocketClient(SocketClient &&)=delete
bool connect() override
Connect to the server.
SocketClient(const SocketClient &)=delete
bool send(const void *data, size_t len, uint64_t timeout_ns) override
Send a message to the server.
std::span< const uint8_t > receive(uint64_t timeout_ns) override
Receive a message from the server (zero-copy for shared memory)
SocketClient & operator=(SocketClient &&)=delete
std::vector< uint8_t > recv_buffer_
void close() override
Close the connection.
const std::vector< MemoryValue > data
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept