Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/tcp_input.c
Show First 20 Lines • Show All 500 Lines • ▼ Show 20 Lines | cc_post_recovery(struct tcpcb *tp, struct tcphdr *th) | ||||
/* XXXLAS: KASSERT that we're in recovery? */ | /* XXXLAS: KASSERT that we're in recovery? */ | ||||
if (CC_ALGO(tp)->post_recovery != NULL) { | if (CC_ALGO(tp)->post_recovery != NULL) { | ||||
tp->ccv->curack = th->th_ack; | tp->ccv->curack = th->th_ack; | ||||
CC_ALGO(tp)->post_recovery(tp->ccv); | CC_ALGO(tp)->post_recovery(tp->ccv); | ||||
} | } | ||||
/* XXXLAS: EXIT_RECOVERY ? */ | /* XXXLAS: EXIT_RECOVERY ? */ | ||||
tp->t_bytes_acked = 0; | tp->t_bytes_acked = 0; | ||||
tp->sackhint.delivered_data = 0; | |||||
tp->sackhint.prr_out = 0; | tp->sackhint.prr_out = 0; | ||||
} | } | ||||
/* | /* | ||||
* Indicate whether this ack should be delayed. We can delay the ack if | * Indicate whether this ack should be delayed. We can delay the ack if | ||||
* following conditions are met: | * following conditions are met: | ||||
* - There is no delayed ack timer in progress. | * - There is no delayed ack timer in progress. | ||||
* - Our last ack wasn't a 0-sized window. We never want to delay | * - Our last ack wasn't a 0-sized window. We never want to delay | ||||
▲ Show 20 Lines • Show All 3,556 Lines • Show Last 20 Lines |