文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>tcp.c文件的reset_xmit_timer函数(7)

tcp.c文件的reset_xmit_timer函数(7)

时间:2009-08-12  来源:978计划

tcp.c文件的reset_xmit_timer函数

978计划工作组 2009-8-12

1函数源码

/*

 *   Reset the retransmission timer

 */

 

static void reset_xmit_timer(struct sock *sk, int why, unsigned long when)

{

       del_timer(&sk->retransmit_timer);

       sk->ip_xmit_timeout = why;

       if((int)when < 0)

       {

              when=3;

              printk("Error: Negative timer in xmit_timer\n");

       }

       sk->retransmit_timer.expires=when;

       add_timer(&sk->retransmit_timer);

}

2函数用途

重新设置重传计时器。

3语句注释

3.1 static void reset_xmit_timer(struct sock *sk, int why, unsigned long when)

why:计时器的超时原因。

when:计时器的时间。如果小于0则设置时间为3。

3.2 del_timer(&sk->retransmit_timer);

del_timer:将原有定时器从系统定时器队列中删除。

sk->retransmit_timer:是struct timer_list类型,sk->retransmit_timer.function为到期执行函数,在tcp_conn_request函数中sk->retransmit_timer.function被初始化为retransmit_timer函数,在tcp_conn_request函数中sk->retransmit_timer.data被初始化为sk,即data就是sk本身。

3.3 sk->ip_xmit_timeout = why;

sk->ip_xmit_timeout:计时器的超时原因。。

3.4  sk->retransmit_timer.expires=when;

sk->retransmit_timer.expires:用于存储定时器的定时时间。

3.5 add_timer(&sk->retransmit_timer);

add_timer:将定时器加入系统定时器队列。

相关阅读 更多 +
排行榜 更多 +
Event Horizon

Event Horizon

飞行射击 下载
Counter Terrorist Sniper Shoot

Counter Terrorist Sniper Shoot

飞行射击 下载
Special Agent

Special Agent

飞行射击 下载