Reset Timer T1, TX slots w/patty_ax25_sock_reset()
Make patty_ax25_sock_reset() reset Timer T1 and zero out the len and ack fields of each TX slot
This commit is contained in:
parent
56b8b90727
commit
645e2a465f
1 changed files with 11 additions and 1 deletions
12
src/sock.c
12
src/sock.c
|
@ -248,6 +248,9 @@ void patty_ax25_sock_init(patty_ax25_sock *sock) {
|
||||||
* AX.25 v2.2, Section 6.5 "Resetting Procedure"
|
* AX.25 v2.2, Section 6.5 "Resetting Procedure"
|
||||||
*/
|
*/
|
||||||
void patty_ax25_sock_reset(patty_ax25_sock *sock) {
|
void patty_ax25_sock_reset(patty_ax25_sock *sock) {
|
||||||
|
int i,
|
||||||
|
slots = tx_slots(sock);
|
||||||
|
|
||||||
sock->flow = PATTY_AX25_SOCK_READY;
|
sock->flow = PATTY_AX25_SOCK_READY;
|
||||||
sock->vs = 0;
|
sock->vs = 0;
|
||||||
sock->vr = 0;
|
sock->vr = 0;
|
||||||
|
@ -255,7 +258,14 @@ void patty_ax25_sock_reset(patty_ax25_sock *sock) {
|
||||||
sock->retries = sock->n_retry;
|
sock->retries = sock->n_retry;
|
||||||
sock->rx_pending = 0;
|
sock->rx_pending = 0;
|
||||||
|
|
||||||
patty_timer_clear(&sock->timer_t1);
|
for (i=0; i<slots; i++) {
|
||||||
|
struct slot *slot = tx_slot(sock, i);
|
||||||
|
|
||||||
|
slot->len = 0;
|
||||||
|
slot->ack = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
patty_timer_start(&sock->timer_t1);
|
||||||
patty_timer_clear(&sock->timer_t2);
|
patty_timer_clear(&sock->timer_t2);
|
||||||
patty_timer_clear(&sock->timer_t3);
|
patty_timer_clear(&sock->timer_t3);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue