Рефакторинг: упрощен etcp_connection_create через вызов etcp_conn_reset
- Удалено ~50 строк дублирующего кода инициализации - Все поля теперь сбрасываются через etcp_conn_reset - Сохранена специфичная инициализация: mtu, crypto, очереди, callback
This commit is contained in:
1 parent
b737b718cf
commit
aab0e445f7
2 files changed
+93
-142
No files matched your search
+4
-5
@@ -1,4 +1,5 @@
|
||||
// etcp.h - Расширенный протокол управления передачей (ETCP Protocol)
|
||||
// etcp.c/h - стек ретрансмиссий для ETCP Protocol
|
||||
// каждое подключение имеет несколько дублирующих каналов. они реализованы в etcp_connections.c/h
|
||||
#ifndef ETCP_H
|
||||
#define ETCP_H
|
||||
|
||||
@@ -45,8 +46,6 @@ struct ETCP_CONN {
|
||||
// Каналы (соединения) - linked list
|
||||
struct ETCP_LINK* links;
|
||||
|
||||
uint8_t state; // 0 - just created, 1 - initialized, 2 - connection established
|
||||
|
||||
// Криптография и состояние
|
||||
struct secure_channel crypto_ctx;
|
||||
|
||||
@@ -79,7 +78,7 @@ struct ETCP_CONN {
|
||||
uint32_t bytes_received_total;
|
||||
|
||||
// State
|
||||
uint16_t next_tx_id;
|
||||
uint16_t next_tx_id;// инкрементируется после отправки пакета
|
||||
uint16_t last_sent_id;
|
||||
uint16_t last_rx_id;
|
||||
uint16_t last_delivered_id;
|
||||
@@ -122,7 +121,7 @@ struct ETCP_CONN {
|
||||
struct ETCP_CONN* etcp_connection_create(struct UTUN_INSTANCE* instance);
|
||||
|
||||
// Уничтожение ETCP instance
|
||||
void etcp_destroy(struct ETCP_CONN* etcp);
|
||||
void etcp_connection_close(struct ETCP_CONN* etcp);
|
||||
|
||||
// Обработать входящий пакет (вызывается из etcp_connections)
|
||||
void etcp_conn_input(struct ETCP_CONN* etcp, struct ETCP_DGRAM* pkt);
|
||||
|
||||
Reference in new issue
Block a user