+keepalive/reset interval sync
This commit is contained in:
1 parent
0ffcfb2f52
commit
dca4e87f63
1 file changed
+7
@@ -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 {
|
||||
|
||||
Reference in new issue
Block a user