25#ifndef GOBY_UTIL_LINEBASEDCOMMS_TCP_SERVER_H
26#define GOBY_UTIL_LINEBASEDCOMMS_TCP_SERVER_H
56 return local_endpoint_.addr() +
":" + std::to_string(local_endpoint_.port());
61 return remote_endpoints_;
76 std::atomic<bool> tcp_alive_{
false};
77 std::unique_ptr<std::thread> tcp_thread_;
84 std::set<middleware::protobuf::TCPEndPoint> remote_endpoints_;
std::string delimiter() const
virtual void do_start()=0
virtual void do_close()=0
virtual void do_subscribe()=0
LineBasedInterface(const std::string &delimiter)
const std::set< middleware::protobuf::TCPEndPoint > & remote_endpoints()
TCPServer(unsigned port, const std::string &delimiter="\r\n", bool ipv6=false)
create a TCP server
std::string local_endpoint() override
string representation of the local endpoint (e.g. 192.168.1.105:54230)
constexpr goby::middleware::Group linebasedcomms_in
constexpr goby::middleware::Group linebasedcomms_out
The global namespace for the Goby project.