Browse Source

logging: move socket mechanics and periodic probe decisions to trace

master
evgeny 4 days ago
parent
commit
7eb6d6ee68
  1. 11
      lib/u_async.c
  2. 4
      src/routing_layer/conn_mgr_monitor.c
  3. 4
      src/routing_layer/topo_node.c

11
lib/u_async.c

@ -760,7 +760,7 @@ void* uasync_add_socket(struct UASYNC* ua, int fd, socket_callback_t read_cbk, s
}
#endif
DEBUG_DEBUG(DEBUG_CATEGORY_SOCKET, "socket_add fd=%d name='%s' type=FD r=%p w=%p e=%p ud=%p",
DEBUG_TRACE(DEBUG_CATEGORY_SOCKET, "socket_add fd=%d name='%s' type=FD r=%p w=%p e=%p ud=%p",
fd, name ? name : "?", (void*)read_cbk, (void*)write_cbk, (void*)except_cbk, user_data);
// Return index-based handle
@ -789,7 +789,7 @@ err_t uasync_remove_socket(struct UASYNC* ua, void* s_id) {
if (ret == 0) {
ua->socket_free_count++;
ua->poll_fds_dirty = 1; // Mark poll_fds as needing rebuild
DEBUG_DEBUG(DEBUG_CATEGORY_SOCKET, "socket_remove fd=%d name='%s'", fd, rname);
DEBUG_TRACE(DEBUG_CATEGORY_SOCKET, "socket_remove fd=%d name='%s'", fd, rname);
return ERR_OK;
}
return ERR_FAIL;
@ -833,7 +833,7 @@ void* uasync_add_socket_t(struct UASYNC* ua, socket_t sock, socket_t_callback_t
}
#endif
DEBUG_DEBUG(DEBUG_CATEGORY_SOCKET, "socket_add fd=%d name='%s' type=SOCK r=%p w=%p e=%p ud=%p",
DEBUG_TRACE(DEBUG_CATEGORY_SOCKET, "socket_add fd=%d name='%s' type=SOCK r=%p w=%p e=%p ud=%p",
(int)sock, name ? name : "?", (void*)read_cbk, (void*)write_cbk, (void*)except_cbk, user_data);
return (void*)(uintptr_t)(index + 1); /* +1: index 0 ≠ NULL */
@ -867,7 +867,7 @@ err_t uasync_remove_socket_t(struct UASYNC* ua, socket_t sock) {
if (ret == 0) {
ua->socket_free_count++;
ua->poll_fds_dirty = 1;
DEBUG_DEBUG(DEBUG_CATEGORY_SOCKET, "socket_remove fd=%d name='%s'", fd, rname);
DEBUG_TRACE(DEBUG_CATEGORY_SOCKET, "socket_remove fd=%d name='%s'", fd, rname);
return ERR_OK;
}
return ERR_FAIL;
@ -905,7 +905,8 @@ static err_t socket_set_monitoring(struct UASYNC* ua, void* s_id, int read_flag,
#endif
node->enable_read = want_read; node->enable_write = want_write;
ua->poll_fds_dirty = 1;
DEBUG_DEBUG(DEBUG_CATEGORY_SOCKET, "socket monitoring: fd=%d read=%d write=%d", node->fd, want_read, want_write);
DEBUG_TRACE(DEBUG_CATEGORY_SOCKET, "socket monitoring: fd=%d name=%s read=%d write=%d",
node->fd, node->name ? node->name : "?", want_read, want_write);
return ERR_OK;
}

4
src/routing_layer/conn_mgr_monitor.c

@ -192,7 +192,9 @@ void cm_candidate_ping_timer_cb(void* arg) {
struct TOPO_NODE* ni = topo_node_registry_find(mgr->instance->topo_groups, nq->node_id);
/* пир в SLEEP-фазе — прямое соединение живо, пинг будит его: пропускаем */
if (ni && !dc->peer_sleep_phase) {
DEBUG_DEBUG(DEBUG_CATEGORY_BGP,"candidate probe: direct peer=%016llx link=%u",(unsigned long long)nid,link->local_link_id);
DEBUG_TRACE(DEBUG_CATEGORY_BGP, "candidate probe: group=%016llx peer=%016llx link=%u transport=%s",
(unsigned long long)mgr->group->group_id, (unsigned long long)nid, link->local_link_id,
link->is_tcp ? "TCP" : "UDP");
if (link->is_tcp) {
struct stcp_client** slot = NULL;
for (uint8_t i = 0; i < CONN_MGR_MAX_CANDIDATES; i++)

4
src/routing_layer/topo_node.c

@ -678,11 +678,11 @@ int topo_node_ping_request_cbk(struct TOPO_GROUPS* groups, uint64_t node_id) {
if (nq) {
struct TOPO_CONNECTIVITY* c = &nq->connectivity;
if (c->last_ping_time == 0 || (now - c->last_ping_time) > PING_TTL_TB) {
DEBUG_DEBUG(DEBUG_CATEGORY_BGP, "ping_request_cbk: node=%016llx last_ping=%llu now=%llu stale=1",
DEBUG_TRACE(DEBUG_CATEGORY_BGP, "ping_request_cbk: node=%016llx last_ping=%llu now=%llu stale=1",
(unsigned long long)node_id, (unsigned long long)c->last_ping_time, (unsigned long long)now);
return 1;
}
DEBUG_DEBUG(DEBUG_CATEGORY_BGP, "ping_request_cbk: node=%016llx last_ping=%llu now=%llu stale=0",
DEBUG_TRACE(DEBUG_CATEGORY_BGP, "ping_request_cbk: node=%016llx last_ping=%llu now=%llu stale=0",
(unsigned long long)node_id, (unsigned long long)c->last_ping_time, (unsigned long long)now);
}
ge = ge->next;

Loading…
Cancel
Save