aboutsummaryrefslogtreecommitdiffstats
path: root/lib/edioutput/Transport.cpp
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2025-08-31 19:02:28 +0200
committerMatthias P. Braendli <matthias.braendli@mpb.li>2025-08-31 19:02:28 +0200
commitb59516179a3e1842de95f8aef549a75dac1102c6 (patch)
tree5240c7127791c2226212722c02d95ea21652a943 /lib/edioutput/Transport.cpp
parentd1e75e4ca6853c97f8fe4f71b282b9ca313be0c0 (diff)
downloaddabmux-b59516179a3e1842de95f8aef549a75dac1102c6.tar.gz
dabmux-b59516179a3e1842de95f8aef549a75dac1102c6.tar.bz2
dabmux-b59516179a3e1842de95f8aef549a75dac1102c6.zip
Common d828d8e: Add TCP output reconnect logs from rmens
Diffstat (limited to 'lib/edioutput/Transport.cpp')
-rw-r--r--lib/edioutput/Transport.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/lib/edioutput/Transport.cpp b/lib/edioutput/Transport.cpp
index 6707a90..3898213 100644
--- a/lib/edioutput/Transport.cpp
+++ b/lib/edioutput/Transport.cpp
@@ -107,7 +107,7 @@ Sender::Sender(const configuration_t& conf) :
make_shared<PFTSpreader>(tcp_dest->pft_settings, sender));
}
else if (auto tcp_dest = dynamic_pointer_cast<edi::tcp_client_t>(edi_dest)) {
- auto sender = make_shared<tcp_send_client_t>(tcp_dest->dest_addr, tcp_dest->dest_port);
+ auto sender = make_shared<tcp_send_client_t>(tcp_dest->dest_addr, tcp_dest->dest_port, m_conf.verbose);
m_pft_spreaders.emplace_back(
make_shared<PFTSpreader>(tcp_dest->pft_settings, sender));
}
@@ -207,7 +207,13 @@ void Sender::tcp_dispatcher_t::send_packet(const std::vector<uint8_t> &frame)
void Sender::tcp_send_client_t::send_packet(const std::vector<uint8_t> &frame)
{
- sock.sendall(frame);
+ const auto error_stats = sock.sendall(frame);
+
+ if (verbose and error_stats.has_seen_new_errors) {
+ etiLog.level(warn) << "TCP output " << dest_addr << ":" << dest_port
+ << " has " << error_stats.num_reconnects
+ << " reconnects: most recent error: " << error_stats.last_error;
+ }
}
Sender::udp_sender_t::udp_sender_t(std::string dest_addr,
@@ -229,7 +235,11 @@ Sender::tcp_dispatcher_t::tcp_dispatcher_t(uint16_t listen_port,
}
Sender::tcp_send_client_t::tcp_send_client_t(const std::string &dest_addr,
- uint16_t dest_port) :
+ uint16_t dest_port,
+ bool verbose) :
+ dest_addr(dest_addr),
+ dest_port(dest_port),
+ verbose(verbose),
sock(dest_addr, dest_port)
{
}