Skip to content

Commit

Permalink
Logging: use decimal socket ID format
Browse files Browse the repository at this point in the history
in compliance with libSRT.
  • Loading branch information
maxsharabayko committed Dec 13, 2023
1 parent 27186a6 commit beca738
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 39 deletions.
20 changes: 10 additions & 10 deletions xtransmit/srt_socket.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -84,12 +84,12 @@ socket::srt::~srt()
{
if (!m_blocking_mode)
{
spdlog::debug(LOG_SOCK_SRT "0x{:X} Releasing epolls before closing", m_bind_socket);
spdlog::debug(LOG_SOCK_SRT "@{} Releasing epolls before closing", m_bind_socket);
if (m_epoll_connect != -1)
srt_epoll_release(m_epoll_connect);
srt_epoll_release(m_epoll_io);
}
spdlog::debug(LOG_SOCK_SRT "0x{:X} Closing", m_bind_socket);
spdlog::debug(LOG_SOCK_SRT "@{} Closing", m_bind_socket);
srt_close(m_bind_socket);
}

Expand All @@ -103,15 +103,15 @@ void socket::srt::listen()
raise_exception("listen");
}

spdlog::debug(LOG_SOCK_SRT "0x{:X} (srt://{}:{:d}) Listening", m_bind_socket, m_host, m_port);
spdlog::debug(LOG_SOCK_SRT "@{} (srt://{}:{:d}) Listening", m_bind_socket, m_host, m_port);
res = configure_post(m_bind_socket);
if (res == SRT_ERROR)
raise_exception("listen::configure_post");
}

shared_srt socket::srt::accept()
{
spdlog::debug(LOG_SOCK_SRT "0x{:X} (srt://{}:{:d}) {} Waiting for incoming connection",
spdlog::debug(LOG_SOCK_SRT "@{} (srt://{}:{:d}) {} Waiting for incoming connection",
m_bind_socket, m_host, m_port, m_blocking_mode ? "SYNC" : "ASYNC");

// Wait for REAL connected state if nonblocking mode
Expand All @@ -130,7 +130,7 @@ shared_srt socket::srt::accept()
raise_exception("accept::epoll_wait");
}

spdlog::debug(LOG_SOCK_SRT "0x{:X} (srt://{}:{:d}) {} ready, [0]: 0x{:X}",
spdlog::debug(LOG_SOCK_SRT "@{} (srt://{}:{:d}) {} ready, [0]: 0x{:X}",
m_bind_socket, m_host, m_port, len, ready[0]);
}

Expand All @@ -147,7 +147,7 @@ shared_srt socket::srt::accept()
if (res == SRT_ERROR)
raise_exception("accept::configure_post");

spdlog::info(LOG_SOCK_SRT "0x{:X} (srt://{}:{:d}) Accepted connection 0x{:X}. {}.",
spdlog::info(LOG_SOCK_SRT "@{} (srt://{}:{:d}) Accepted connection @{}. {}.",
m_bind_socket, m_host, m_port, sock, print_negotiated_config(sock));

return make_shared<srt>(sock, m_blocking_mode);
Expand All @@ -157,13 +157,13 @@ void socket::srt::raise_exception(const string &&place) const
{
const int udt_result = srt_getlasterror(nullptr);
const string message = srt_getlasterror_str();
spdlog::debug(LOG_SOCK_SRT "0x{:X} {} ERROR {} {}", m_bind_socket, place, udt_result, message);
spdlog::debug(LOG_SOCK_SRT "@{} {} ERROR {} {}", m_bind_socket, place, udt_result, message);
throw socket::exception(place + ": " + message);
}

void socket::srt::raise_exception(const string &&place, const string &&reason) const
{
spdlog::debug(LOG_SOCK_SRT "0x{:X} {}. ERROR: {}.", m_bind_socket, place, reason);
spdlog::debug(LOG_SOCK_SRT "@{} {}. ERROR: {}.", m_bind_socket, place, reason);
throw socket::exception(place + ": " + reason);
}

Expand All @@ -179,7 +179,7 @@ shared_srt socket::srt::connect()
raise_exception("connect::create_addr", e.what());
}

spdlog::debug(LOG_SOCK_SRT "0x{:X} {} Connecting to srt://{}:{:d}",
spdlog::debug(LOG_SOCK_SRT "@{} {} Connecting to srt://{}:{:d}",
m_bind_socket, m_blocking_mode ? "SYNC" : "ASYNC", m_host, m_port);

{
Expand Down Expand Up @@ -220,7 +220,7 @@ shared_srt socket::srt::connect()
raise_exception("connect::onfigure_post");
}

spdlog::info(LOG_SOCK_SRT "0x{:X} {} Connected to srt://{}:{:d}. {}.",
spdlog::info(LOG_SOCK_SRT "@{} {} Connected to srt://{}:{:d}. {}.",
m_bind_socket, m_blocking_mode ? "SYNC" : "ASYNC", m_host, m_port,
print_negotiated_config(m_bind_socket));

Expand Down
58 changes: 29 additions & 29 deletions xtransmit/srt_socket_group.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -208,13 +208,13 @@ socket::srt_group::~srt_group()
{
if (!m_blocking_mode)
{
spdlog::debug(LOG_SRT_GROUP "0x{:X} Closing. Releasing epolls", m_bind_socket);
spdlog::debug(LOG_SRT_GROUP "@{} Closing. Releasing epolls", m_bind_socket);
if (m_epoll_connect != -1)
srt_epoll_release(m_epoll_connect);
if (m_epoll_io != -1)
srt_epoll_release(m_epoll_io);
}
spdlog::debug(LOG_SRT_GROUP "0x{:X} Closing SRT group", m_bind_socket);
spdlog::debug(LOG_SRT_GROUP "@{} Closing SRT group", m_bind_socket);
release_targets();
release_listeners();
srt_close(m_bind_socket);
Expand All @@ -223,7 +223,7 @@ socket::srt_group::~srt_group()
void socket::srt_group::create_listeners(const vector<UriParser>& src_uri)
{
// Create listeners according to the parameters
for (size_t i = 0; i < src_uri.size(); ++i)
for (int i = 0; i < (int) src_uri.size(); ++i)
{
const UriParser& url = src_uri[i];
netaddr_any sa = create_addr(url.host(), url.portno());
Expand Down Expand Up @@ -253,7 +253,7 @@ void socket::srt_group::create_listeners(const vector<UriParser>& src_uri)
throw socket::exception(srt_getlasterror_str());
}

spdlog::trace(LOG_SRT_GROUP "Created listener 0x{:X} on {}:{}", s, url.host(), url.portno());
spdlog::trace(LOG_SRT_GROUP "Created listener @{} on {}:{}", s, url.host(), url.portno());

m_listeners.push_back(s);
}
Expand Down Expand Up @@ -366,7 +366,7 @@ shared_srt_group socket::srt_group::accept()
if (srt_epoll_wait(m_epoll_connect, ready, &len, 0, 0, timeout_ms, 0, 0, 0, 0) == SRT_ERROR)
raise_exception("accept::epoll_wait");

spdlog::trace(LOG_SRT_GROUP "Epoll read-ready sock 0x{:X}, 0x{:X}", ready[0], len > 1 ? ready[1] : 0);
spdlog::trace(LOG_SRT_GROUP "Epoll read-ready sock @{}, @{}", ready[0], len > 1 ? ready[1] : 0);

sockaddr_in scl;
int sclen = sizeof scl;
Expand All @@ -377,12 +377,12 @@ shared_srt_group socket::srt_group::accept()
}
else
{
accepted_sock = srt_accept_bond(m_listeners.data(), m_listeners.size(), -1);
accepted_sock = srt_accept_bond(m_listeners.data(), (int) m_listeners.size(), -1);
if (accepted_sock == SRT_INVALID_SOCK)
raise_exception("accept_bond failed with {}", srt_getlasterror_str());
}

spdlog::info(LOG_SRT_GROUP "Accepted connection sock 0x{:X}. {}.", accepted_sock, srt::print_negotiated_config(accepted_sock));
spdlog::info(LOG_SRT_GROUP "Accepted connection sock @{}. {}.", accepted_sock, srt::print_negotiated_config(accepted_sock));
const int res = configure_post(accepted_sock, 0); // TODO: are there POST options per link?
if (res == SRT_ERROR)
raise_exception("accept::configure_post");
Expand Down Expand Up @@ -415,7 +415,7 @@ void socket::srt_group::print_member_socket(SRTSOCKET sock)

gtype = gtype < 0 ? 0 : (gtype > 3 ? 0 : gtype);
const char* gtype_str[] = { "NO GROUP", "BROADCAST", "BACKUP", "BALANCING"};
spdlog::trace(LOG_SRT_GROUP "Member socket 0x{:X}, {} weight = {}", sock,
spdlog::trace(LOG_SRT_GROUP "Member socket @{}, {} weight = {}", sock,
gtype_str[gtype], weight);
}

Expand All @@ -440,7 +440,7 @@ int socket::srt_group::listen_callback_fn(void* opaq, SRTSOCKET sock, int hsvers
int host_sa_len = sizeof host_sa;
srt_getsockname(sock, &host_sa, &host_sa_len);
netaddr_any host(&host_sa, host_sa_len);
spdlog::trace(LOG_SRT_GROUP "Accepted member socket 0x{:X}, host IP {}, remote IP {}", sock, host.str(), sa.str());
spdlog::trace(LOG_SRT_GROUP "Accepted member socket @{}, host IP {}, remote IP {}", sock, host.str(), sa.str());

// TODO: this group may no longer exist. Use some global array to track valid groups.
socket::srt_group* group = reinterpret_cast<socket::srt_group*>(opaq);
Expand Down Expand Up @@ -475,11 +475,11 @@ void socket::srt_group::on_connect_callback(SRTSOCKET sock, int error, const soc
if (error == SRT_SUCCESS)
{
// After SRT v1.4.2 connection callback is no longer called on connection success.
spdlog::trace(LOG_SRT_GROUP "Member socket connected 0x{:X} (token {}).", sock, token);
spdlog::trace(LOG_SRT_GROUP "@{} Member socket connected @{} (token {}).", m_bind_socket, sock, token);
return;
}

spdlog::warn(LOG_SRT_GROUP "Member socket 0x{:X} (token {}) connection error: ({}) {}.", sock, token, error,
spdlog::warn(LOG_SRT_GROUP "@{} Member socket @{} (token {}) connection error: ({}) {}.", m_bind_socket, sock, token, error,
srt_strerror(error, 0));

bool reconn_scheduled = false;
Expand All @@ -489,19 +489,19 @@ void socket::srt_group::on_connect_callback(SRTSOCKET sock, int error, const soc
continue;

auto connfn = [](SRTSOCKET group, SRT_SOCKGROUPCONFIG target) {
spdlog::trace(LOG_SRT_GROUP "0x{:X}: Reconnecting member socket (token {})", group, target.token);
spdlog::trace(LOG_SRT_GROUP "@{}: Reconnecting member socket (token {})", group, target.token);
const int st = srt_connect_group(group, &target, 1);
if (st == SRT_ERROR)
spdlog::warn(LOG_SRT_GROUP "0x{:X}: Member reconnection failed (token {})", group, target.token);
spdlog::warn(LOG_SRT_GROUP "@{}: Member reconnection failed (token {})", group, target.token);
};

spdlog::trace(LOG_SRT_GROUP "0x{:X}: Scheduling member reconnection (token {})", m_bind_socket, token);
spdlog::trace(LOG_SRT_GROUP "@{}: Scheduling member reconnection (token {})", m_bind_socket, token);
reconn_scheduled = true;
m_scheduler.schedule_in(std::chrono::seconds(1), connfn, m_bind_socket, target);
}

if (!reconn_scheduled)
spdlog::warn(LOG_SRT_GROUP "0x{:X}: Could not schedule member reconnection (token {})", m_bind_socket, token);
spdlog::warn(LOG_SRT_GROUP "@{}: Could not schedule member reconnection (token {})", m_bind_socket, token);

return;
}
Expand All @@ -516,13 +516,13 @@ void socket::srt_group::raise_exception(const string&& place, SRTSOCKET sock) co
const int udt_result = srt_getlasterror(nullptr);
const string message = srt_getlasterror_str();
spdlog::debug(
LOG_SRT_GROUP "0x{:X} {} ERROR {} {}", sock != SRT_INVALID_SOCK ? sock : m_bind_socket, place, udt_result, message);
LOG_SRT_GROUP "@{} {} ERROR {} {}", sock != SRT_INVALID_SOCK ? sock : m_bind_socket, place, udt_result, message);
throw socket::exception(place + ": " + message);
}

void socket::srt_group::raise_exception(const string&& place, const string&& reason) const
{
spdlog::debug(LOG_SRT_GROUP "0x{:X} {} ERROR {}", m_bind_socket, place, reason);
spdlog::debug(LOG_SRT_GROUP "@{} {} ERROR {}", m_bind_socket, place, reason);
throw socket::exception(place + ": " + reason);
}

Expand All @@ -536,7 +536,7 @@ void socket::srt_group::release_targets()
void socket::srt_group::release_listeners()
{
for (auto sock : m_listeners) {
spdlog::trace(LOG_SRT_GROUP "Closing listener 0x{:X}", sock);
spdlog::trace(LOG_SRT_GROUP "Closing listener @{}", sock);
srt_close(sock);
}
m_listeners.clear();
Expand All @@ -545,7 +545,7 @@ void socket::srt_group::release_listeners()
shared_srt_group socket::srt_group::connect()
{
spdlog::debug(
LOG_SRT_GROUP "0x{:X} {} Connecting group to remote SRT", m_bind_socket, m_blocking_mode ? "SYNC" : "ASYNC");
LOG_SRT_GROUP "@{} {} Connecting group to remote SRT", m_bind_socket, m_blocking_mode ? "SYNC" : "ASYNC");

if (!m_blocking_mode && false)
{
Expand Down Expand Up @@ -582,13 +582,13 @@ shared_srt_group socket::srt_group::connect()
{
spdlog::debug(
LOG_SRT_GROUP "srt_connect_group");
const int st = srt_connect_group(m_bind_socket, m_targets.data(), m_targets.size());
const int st = srt_connect_group(m_bind_socket, m_targets.data(), (int) m_targets.size());
if (st == SRT_ERROR)
raise_exception("srt_group::connect");
}

spdlog::debug(
LOG_SRT_GROUP "0x{:X} {} Group member connected to remote. {}.", m_bind_socket, m_blocking_mode ? "SYNC" : "ASYNC",
LOG_SRT_GROUP "@{} {} Group member connected to remote. {}.", m_bind_socket, m_blocking_mode ? "SYNC" : "ASYNC",
srt::print_negotiated_config(m_bind_socket));

return shared_from_this();
Expand Down Expand Up @@ -889,7 +889,7 @@ const string socket::srt_group::get_statistics_csv(bool print_header) const {
if (srt_group_data(m_bind_socket, NULL, &group_size) != SRT_SUCCESS)
{
// Not throwing an exception as group stats was retrieved.
spdlog::warn(LOG_SRT_GROUP "0x{:X} get_statistics_csv: Failed to retrieve the number of group members", m_bind_socket);
spdlog::warn(LOG_SRT_GROUP "@{} get_statistics_csv: Failed to retrieve the number of group members", m_bind_socket);
return csv_stats;
}

Expand All @@ -898,7 +898,7 @@ const string socket::srt_group::get_statistics_csv(bool print_header) const {
if (num_members == SRT_ERROR)
{
// Not throwing an exception as group stats was retrieved.
spdlog::warn(LOG_SRT_GROUP "0x{:X} get_statistics_csv: Failed to retrieve group data, {}", m_bind_socket, srt_getlasterror_str());
spdlog::warn(LOG_SRT_GROUP "@{} get_statistics_csv: Failed to retrieve group data, {}", m_bind_socket, srt_getlasterror_str());
return csv_stats;
}

Expand All @@ -909,13 +909,13 @@ const string socket::srt_group::get_statistics_csv(bool print_header) const {

if (group_data[i].sockstate != SRTS_CONNECTED)
{
spdlog::trace(LOG_SRT_GROUP "0x{:X} get_statistics_csv: Socket 0x{:X} state is {}, skipping.", m_bind_socket, id, srt_logging::SockStatusStr(status));
spdlog::trace(LOG_SRT_GROUP "@{} get_statistics_csv: Socket @{} state is {}, skipping.", m_bind_socket, id, srt_logging::SockStatusStr(status));
continue;
}

if (SRT_ERROR == srt_bstats(id, &stats, true))
{
spdlog::warn(LOG_SRT_GROUP "0x{:X} get_statistics_csv: Failed to retrieve stats for member 0x{:X}. {}", m_bind_socket, id, srt_getlasterror_str());
spdlog::warn(LOG_SRT_GROUP "@{} get_statistics_csv: Failed to retrieve stats for member @{}. {}", m_bind_socket, id, srt_getlasterror_str());
continue;
}

Expand All @@ -937,7 +937,7 @@ const string socket::srt_group::get_statistics_json() const {
if (srt_group_data(m_bind_socket, NULL, &group_size) != SRT_SUCCESS)
{
// Not throwing an exception as group stats was retrieved.
spdlog::warn(LOG_SRT_GROUP "0x{:X} get_statistics_json: Failed to retrieve the number of group members", m_bind_socket);
spdlog::warn(LOG_SRT_GROUP "@{} get_statistics_json: Failed to retrieve the number of group members", m_bind_socket);
return root.dump() + "\n";
}

Expand All @@ -946,7 +946,7 @@ const string socket::srt_group::get_statistics_json() const {
if (num_members == SRT_ERROR)
{
// Not throwing an exception as group stats was retrieved.
spdlog::warn(LOG_SRT_GROUP "0x{:X} get_statistics_json: Failed to retrieve group data, {}", m_bind_socket, srt_getlasterror_str());
spdlog::warn(LOG_SRT_GROUP "@{} get_statistics_json: Failed to retrieve group data, {}", m_bind_socket, srt_getlasterror_str());
return root.dump() + "\n";
}

Expand All @@ -958,13 +958,13 @@ const string socket::srt_group::get_statistics_json() const {

if (group_data[i].sockstate != SRTS_CONNECTED)
{
spdlog::trace(LOG_SRT_GROUP "0x{:X} get_statistics_json: Socket 0x{:X} state is {}, skipping.", m_bind_socket, id, srt_logging::SockStatusStr(status));
spdlog::trace(LOG_SRT_GROUP "@{} get_statistics_json: Socket 0x{:X} state is {}, skipping.", m_bind_socket, id, srt_logging::SockStatusStr(status));
continue;
}

if (SRT_ERROR == srt_bstats(id, &stats, true))
{
spdlog::warn(LOG_SRT_GROUP "0x{:X} get_statistics_json: Failed to retrieve stats for member 0x{:X}. {}", m_bind_socket, id, srt_getlasterror_str());
spdlog::warn(LOG_SRT_GROUP "@{} get_statistics_json: Failed to retrieve stats for member @{}. {}", m_bind_socket, id, srt_getlasterror_str());
continue;
}

Expand Down

0 comments on commit beca738

Please sign in to comment.