* Engage/reengage time on bucket row. */
| 437 | * Engage/reengage time on bucket row. |
| 438 | */ |
| 439 | static void |
| 440 | syncache_timeout(struct syncache *sc, struct syncache_head *sch, int docallout) |
| 441 | { |
| 442 | int rexmt; |
| 443 | |
| 444 | if (sc->sc_rxmits == 0) |
| 445 | rexmt = tcp_rexmit_initial; |
| 446 | else |
| 447 | TCPT_RANGESET(rexmt, |
| 448 | tcp_rexmit_initial * tcp_backoff[sc->sc_rxmits], |
| 449 | tcp_rexmit_min, TCPTV_REXMTMAX); |
| 450 | sc->sc_rxttime = ticks + rexmt; |
| 451 | sc->sc_rxmits++; |
| 452 | if (TSTMP_LT(sc->sc_rxttime, sch->sch_nextc)) { |
| 453 | sch->sch_nextc = sc->sc_rxttime; |
| 454 | if (docallout) |
| 455 | callout_reset(&sch->sch_timer, sch->sch_nextc - ticks, |
| 456 | syncache_timer, (void *)sch); |
| 457 | } |
| 458 | } |
| 459 | |
| 460 | /* |
| 461 | * Walk the timer queues, looking for SYN,ACKs that need to be retransmitted. |
no outgoing calls
no test coverage detected