Browse Source

+keepalive/reset interval sync

nodeinfo-routing-update
jeka 1 month ago
parent
commit
dca4e87f63
  1. 7
      src/etcp_connections.c

7
src/etcp_connections.c

@ -76,6 +76,9 @@ static void etcp_link_send_init(struct ETCP_LINK* link, uint8_t reset) {
dgram->data[offset++] = (link->keepalive_interval >> 8) & 0xFF;
dgram->data[offset++] = link->keepalive_interval & 0xFF;
dgram->data[offset++] = ((link->recovery_interval/100) >> 8) & 0xFF;
dgram->data[offset++] = (link->recovery_interval/100) & 0xFF;
dgram->data[offset++] = link->local_link_id;
uint8_t salt[SC_PUBKEY_ENC_SALT_SIZE];
@ -841,6 +844,7 @@ static void etcp_connections_read_callback_socket(socket_t sock, void* arg) {
uint8_t id[8];
uint8_t mtu[2];
uint8_t keepalive[2];
uint8_t recovery[2];
uint8_t link_id;
uint8_t pubkey[SC_PUBKEY_SIZE];
} *ack_hdr=(void*)&pkt->data[0];
@ -910,6 +914,9 @@ static void etcp_connections_read_callback_socket(socket_t sock, void* arg) {
if (ack_hdr->code == ETCP_INIT_REQUEST) {
etcp_conn_reset(conn);
}
link->keepalive_interval=(ack_hdr->keepalive[0]<<8) | ack_hdr->keepalive[1];
link->recovery_interval=((ack_hdr->recovery[0]<<8) | ack_hdr->recovery[1])*100;// timebase в link, timebase/100 в кодограмме
DEBUG_DEBUG(DEBUG_CATEGORY_CONNECTION, "set keepalive for link=%d", link->keepalive_interval);
}
struct {

Loading…
Cancel
Save