diff --git a/include/patty/ax25/sock.h b/include/patty/ax25/sock.h index 3714e7c..3c04393 100644 --- a/include/patty/ax25/sock.h +++ b/include/patty/ax25/sock.h @@ -1,12 +1,10 @@ #ifndef _PATTY_AX25_SOCK_H #define _PATTY_AX25_SOCK_H -#define PATTY_AX25_SOCK_RX_MAXLEN 4096 -#define PATTY_AX25_SOCK_RX_WINDOW 127 - -#define PATTY_AX25_SOCK_DEFAULT_MAXLEN 256 -#define PATTY_AX25_SOCK_DEFAULT_RETRY 10 -#define PATTY_AX25_SOCK_DEFAULT_WINDOW 8 +#define PATTY_AX25_SOCK_DEFAULT_MAXLEN 4096 +#define PATTY_AX25_SOCK_DEFAULT_WINDOW 127 +#define PATTY_AX25_SOCK_DEFAULT_RETRY 10 +#define PATTY_AX25_SOCK_DEFAULT_ACK 3000 enum patty_ax25_sock_type { PATTY_AX25_SOCK_STREAM, @@ -54,6 +52,7 @@ typedef struct _patty_ax25_sock { n_maxlen_rx, n_window_tx, n_window_rx, + n_ack, n_retry; unsigned int seq_send, diff --git a/src/sock.c b/src/sock.c index 9f52eee..e2178c5 100644 --- a/src/sock.c +++ b/src/sock.c @@ -79,14 +79,10 @@ patty_ax25_sock *patty_ax25_sock_new(enum patty_ax25_proto proto, memset(sock, '\0', sizeof(*sock)); - sock->proto = proto; - sock->type = type; - sock->status = PATTY_AX25_SOCK_CLOSED; - sock->mode = PATTY_AX25_SOCK_DM; - sock->n_maxlen_tx = PATTY_AX25_SOCK_DEFAULT_MAXLEN; - sock->n_maxlen_rx = PATTY_AX25_SOCK_RX_MAXLEN; - sock->n_window_tx = PATTY_AX25_SOCK_DEFAULT_WINDOW; - sock->n_window_rx = PATTY_AX25_SOCK_RX_WINDOW; + patty_ax25_sock_reset(sock); + + sock->proto = proto; + sock->type = type; if ((sock->buf = malloc(PATTY_AX25_FRAME_OVERHEAD + sock->n_maxlen_rx)) == NULL) { goto error_malloc_buf; @@ -119,9 +115,11 @@ void patty_ax25_sock_reset(patty_ax25_sock *sock) { sock->status = PATTY_AX25_SOCK_CLOSED; sock->mode = PATTY_AX25_SOCK_DM; sock->n_maxlen_tx = PATTY_AX25_SOCK_DEFAULT_MAXLEN; - sock->n_maxlen_rx = PATTY_AX25_SOCK_RX_MAXLEN; + sock->n_maxlen_rx = PATTY_AX25_SOCK_DEFAULT_MAXLEN; + sock->n_window_tx = PATTY_AX25_SOCK_DEFAULT_WINDOW; + sock->n_window_tx = PATTY_AX25_SOCK_DEFAULT_WINDOW; + sock->n_ack = PATTY_AX25_SOCK_DEFAULT_ACK; sock->n_retry = PATTY_AX25_SOCK_DEFAULT_RETRY; - sock->n_window_tx = PATTY_AX25_SOCK_RX_WINDOW; sock->timer_ack = 0; sock->timer_response = 0; sock->timer_keepalive = 0;