NetworkPkg/TcpDxe/TcpTimer.c File Reference


Functions

VOID TcpConnectTimeout (IN OUT TCP_CB *Tcb)
VOID TcpRexmitTimeout (IN OUT TCP_CB *Tcb)
VOID TcpProbeTimeout (IN OUT TCP_CB *Tcb)
VOID TcpKeepaliveTimeout (IN OUT TCP_CB *Tcb)
VOID TcpFinwait2Timeout (IN OUT TCP_CB *Tcb)
VOID Tcp2MSLTimeout (IN OUT TCP_CB *Tcb)
VOID TcpClose (IN OUT TCP_CB *Tcb)
VOID TcpBackoffRto (IN OUT TCP_CB *Tcb)
VOID TcpUpdateTimer (IN OUT TCP_CB *Tcb)
VOID TcpSetTimer (IN OUT TCP_CB *Tcb, IN UINT16 Timer, IN UINT32 TimeOut)
VOID TcpClearTimer (IN OUT TCP_CB *Tcb, IN UINT16 Timer)
VOID TcpClearAllTimer (IN OUT TCP_CB *Tcb)
VOID TcpSetProbeTimer (IN OUT TCP_CB *Tcb)
VOID TcpSetKeepaliveTimer (IN OUT TCP_CB *Tcb)
VOID EFIAPI TcpTickingDpc (IN VOID *Context)
VOID EFIAPI TcpTicking (IN EFI_EVENT Event, IN VOID *Context)

Variables

UINT32 mTcpTick = 1000
TCP_TIMER_HANDLER mTcpTimerHandler [TCP_TIMER_NUMBER]

Detailed Description

TCP timer related functions.

Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.

This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php.

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.


Function Documentation

VOID Tcp2MSLTimeout ( IN OUT TCP_CB Tcb  ) 

Timeout handler for 2MSL timer.

Parameters:
[in,out] Tcb Pointer to the TCP_CB of this TCP instance.

References TcpClose().

VOID TcpBackoffRto ( IN OUT TCP_CB Tcb  ) 

Backoff the RTO.

Parameters:
[in,out] Tcb Pointer to the TCP_CB of this TCP instance.

References TCP_FOLD_RTT, TCP_RTO_MAX, and TCP_RTO_MIN.

Referenced by TcpRexmitTimeout().

VOID TcpClearAllTimer ( IN OUT TCP_CB Tcb  ) 

Clear all TCP timers.

Parameters:
[in,out] Tcb Pointer to the TCP_CB of this TCP instance.

References TcpUpdateTimer().

Referenced by TcpDeliverData(), and TcpInput().

VOID TcpClearTimer ( IN OUT TCP_CB Tcb,
IN UINT16  Timer 
)

Clear one TCP timer.

Parameters:
[in,out] Tcb Pointer to the TCP_CB of this TCP instance.
[in] Timer The index of the timer to be cleared.

References TCP_CLEAR_TIMER, and TcpUpdateTimer().

Referenced by TcpInput().

VOID TcpClose ( IN OUT TCP_CB Tcb  ) 

Close the TCP connection.

Parameters:
[in,out] Tcb Pointer to the TCP_CB of this TCP instance.

References TCP_CLOSED, and TcpSetState().

Referenced by Tcp2MSLTimeout(), TcpConnectTimeout(), TcpDeliverData(), TcpFinwait2Timeout(), TcpIcmpInput(), TcpInput(), TcpKeepaliveTimeout(), TcpOnAppClose(), and TcpRexmitTimeout().

VOID TcpConnectTimeout ( IN OUT TCP_CB Tcb  ) 

Connect timeout handler.

Parameters:
[in,out] Tcb Pointer to the TCP_CB of this TCP instance.

References SOCK_ERROR, TCP_CONNECTED, TCP_SYN_RCVD, TcpClose(), and TcpResetConnection().

VOID TcpFinwait2Timeout ( IN OUT TCP_CB Tcb  ) 

Timeout handler for FIN_WAIT_2 timer.

Parameters:
[in,out] Tcb Pointer to the TCP_CB of this TCP instance.

References TcpClose().

VOID TcpKeepaliveTimeout ( IN OUT TCP_CB Tcb  ) 

Timeout handler for keepalive timer.

Parameters:
[in,out] Tcb Pointer to the TCP_CB of this TCP instance.

References SOCK_ERROR, TcpClose(), TcpSendZeroProbe(), and TcpSetKeepaliveTimer().

VOID TcpProbeTimeout ( IN OUT TCP_CB Tcb  ) 

Timeout handler for window probe timer.

Parameters:
[in,out] Tcb Pointer to the TCP_CB of this TCP instance.

References TCP_TIMER_ON, TCP_TIMER_REXMIT, TcpDataToSend(), TcpSendZeroProbe(), TcpSetProbeTimer(), and TcpToSendData().

VOID TcpRexmitTimeout ( IN OUT TCP_CB Tcb  ) 

Timeout handler for TCP retransmission timer.

Parameters:
[in,out] Tcb Pointer to the TCP_CB of this TCP instance.

References SOCK_ERROR, TCP_CLEAR_FLG, TCP_CONGEST_LOSS, TCP_CTRL_RTT_ON, TCP_SUB_SEQ, TCP_TIMER_CONNECT, TCP_TIMER_ON, TCP_TIMER_REXMIT, TcpBackoffRto(), TcpClose(), TcpRetransmit(), and TcpSetTimer().

VOID TcpSetKeepaliveTimer ( IN OUT TCP_CB Tcb  ) 

Enable the keepalive timer and set the timeout value.

Parameters:
[in,out] Tcb Pointer to the TCP_CB of this TCP instance.

References TCP_CTRL_NO_KEEPALIVE, TCP_FLG_ON, TCP_TIMER_KEEPALIVE, TCP_TIMER_ON, and TcpSetTimer().

Referenced by TcpInput(), and TcpKeepaliveTimeout().

VOID TcpSetProbeTimer ( IN OUT TCP_CB Tcb  ) 

Enable the window prober timer and set the timeout value.

Parameters:
[in,out] Tcb Pointer to the TCP_CB of this TCP instance.

References TCP_RTO_MAX, TCP_RTO_MIN, TCP_TIMER_PROBE, and TcpSetTimer().

Referenced by TcpDataToSend(), TcpInput(), and TcpProbeTimeout().

VOID TcpSetTimer ( IN OUT TCP_CB Tcb,
IN UINT16  Timer,
IN UINT32  TimeOut 
)

Enable a TCP timer.

Parameters:
[in,out] Tcb Pointer to the TCP_CB of this TCP instance.
[in] Timer The index of the timer to be enabled.
[in] TimeOut The timeout value of this timer.

References mTcpTick, TCP_SET_TIMER, and TcpUpdateTimer().

Referenced by TcpDeliverData(), TcpInput(), TcpOnAppConnect(), TcpRexmitTimeout(), TcpSetKeepaliveTimer(), TcpSetProbeTimer(), and TcpToSendData().

VOID EFIAPI TcpTicking ( IN EFI_EVENT  Event,
IN VOID *  Context 
)

Heart beat timer handler, queues the DPC at TPL_CALLBACK.

Parameters:
[in] Event Timer event signaled, ignored.
[in] Context Context of the timer event, ignored.

References TcpTickingDpc().

Referenced by TcpCreateTimer().

VOID EFIAPI TcpTickingDpc ( IN VOID *  Context  ) 

VOID TcpUpdateTimer ( IN OUT TCP_CB Tcb  ) 

Update the timer status and the next expire time according to the timers to expire in a specific future time slot.

Parameters:
[in,out] Tcb Pointer to the TCP_CB of this TCP instance.

References mTcpTick, TCP_CLEAR_FLG, TCP_CTRL_TIMER_ON, TCP_EXPIRE_TIME, TCP_SET_FLG, TCP_SUB_TIME, TCP_TIME_LT, TCP_TIMER_NUMBER, and TCP_TIMER_ON.

Referenced by TcpClearAllTimer(), TcpClearTimer(), TcpSetTimer(), and TcpTickingDpc().


Variable Documentation

UINT32 mTcpTick = 1000


Generated on Mon Sep 28 08:49:06 2015 for NetworkPkg[ALL] by  doxygen 1.5.7.1