当前位置: 首页 > news >正文

建设网站宽度最好是多少wordpress基础优化

建设网站宽度最好是多少,wordpress基础优化,wordpress漂亮破解主题,南京哪个网站做物业贷LINUX TC:HTB相关源码 收藏HTB(hierarchy token buffer)是linux tc(traffic control)模块中的排队队列的一种。它的配置比CBQ要简单.同时实现功能也很强大。下面#xff0c;就来看看#xff0c;HTB在linux中的源码。1、 Qdisc_ops的注册先从module_init函数看起(…LINUX TC:HTB相关源码 收藏HTB(hierarchy token buffer)是linux tc(traffic control)模块中的排队队列的一种。它的配置比CBQ要简单.同时实现功能也很强大。下面就来看看HTB在linux中的源码。1、             Qdisc_ops的注册先从module_init函数看起(遵从fudan_abc的建议)static int __init htb_module_init(void){return register_qdisc(htb_qdisc_ops);}上面的code会调用register_qdisc函数将htb_qdisc_ops注册到系统中那么htb_qdisc_ops包含了那些内容static struct Qdisc_ops htb_qdisc_ops __read_mostly {.cl_ops             htb_class_ops,.id               htb,.priv_size        sizeof(struct htb_sched),.enqueue          htb_enqueue,.dequeue          htb_dequeue,.peek                 qdisc_peek_dequeued,.drop                 htb_drop,.init                   htb_init,.reset                htb_reset,.destroy           htb_destroy,.dump               htb_dump,.owner              THIS_MODULE,};可以看出htb_qdisc_ops其实就是注册了htb管理queue的函数最重要的莫过于enqueue 和dequeue函数它们作用如同它们的名字一样。那么到底将htb_qdisc_ops注册到那了呢这就要看看register函数了static struct Qdisc_ops *qdisc_base;/**qdisc_base 就是系统维护所以qdisc所使用的变量系统中的所有的qdisc都要*注册到这变量变量中*在struct Qdisc_ops中包含了成员(struct Qdisc_ops *)next*也就是所以的qdisc是以链表的形式存在的*/int register_qdisc(struct Qdisc_ops *qops){struct Qdisc_ops *q, **qp;int rc -EEXIST;write_lock(qdisc_mod_lock);/**首先检测这个qdisc是否已经注册过了这是通过比较id实现的*id的类型是char 数组char                 id[IFNAMSIZ];IFNAMESIZ16*htb的id”htb”*/for (qp qdisc_base; (q *qp) ! NULL; qp q-next)if (!strcmp(qops-id, q-id))goto out;/**然后检测ops中的enqueue、dequeue、peek函数*如果这些函数都没有被初始化将使用noop_qdisc_ops函数来初始化*noop_qdisc_ops也是Qdisc_ops结构*它的作用就像是定义了Qdisc_ops的默认值*/if (qops-enqueue NULL)qops-enqueue noop_qdisc_ops.enqueue;if (qops-peek NULL) {if (qops-dequeue NULL)qops-peek noop_qdisc_ops.peek;elsegoto out_einval;}if (qops-dequeue NULL)qops-dequeue noop_qdisc_ops.dequeue;/**然后检测cl_ops成员。*cl_ops是结构Qdisc_class_ops*它定义了用于管理挂载到这个qdisc下的所有class(或者qdisc)*/if (qops-cl_ops) {const struct Qdisc_class_ops *cops qops-cl_ops;if (!(cops-get cops-put cops-walk cops-leaf))goto out_einval;if (cops-tcf_chain !(cops-bind_tcf cops-unbind_tcf))goto out_einval;}/**最后将新的qops插入到链表的尾部*qp qops;*这样就注册完成了*/qops-next NULL;*qp qops;rc 0;out:write_unlock(qdisc_mod_lock);return rc;out_einval:rc -EINVAL;goto out;}EXPORT_SYMBOL(register_qdisc);Qdisc_class_ops是管理这个tree的那么看看htb的cl_ops有哪些函数static const struct Qdisc_class_ops htb_class_ops {.graft                htb_graft,.leaf                  htb_leaf,.qlen_notify           htb_qlen_notify,.get                   htb_get,.put                   htb_put,.change                   htb_change_class,.delete              htb_delete,.walk                htb_walk,.tcf_chain        htb_find_tcf,.bind_tcf          htb_bind_filter,.unbind_tcf      htb_unbind_filter,.dump               htb_dump_class,.dump_stats           htb_dump_class_stats,};我们知道tc qdisc命令添加qdisc到某个设备后为了对数据包进行分类需要使用tc filter 来添加fitler到某个qdisc 当数据包来时通过fitler来区分数据包并转发到不同的subqdisc 或者subclass。而绑定fitler都是通过函数bind_tcf来实现的。
http://www.zqtcl.cn/news/346316/

相关文章:

  • 云主机开网站教程模板网会员
  • 网站建设无锡虚拟网站官网
  • 品牌网站设计联系东莞网站优化公
  • 自己做整个网站的流程php装修网站源码
  • 天津网站建设班模拟网站建设软件有哪些
  • 服务类的网站怎么做做软件的网站担保网站
  • 最新电子产品网站模板海口网站排名提升
  • 北京社保网站减员怎么做phpcms v9 实现网站搜索
  • 视频运营管理网站济南网站建设 济南货梯
  • html电影网站模板下载工具阿里云网站建设 部署与发布笔记
  • 建设跨境网站微信seo是什么意思
  • 我做彩票网站开发彩票网站搭建织梦如何仿手机网站源码下载
  • 东仓建设网站手机便宜的网站建设
  • 吕梁市住房与城乡建设厅网站wordpress 乐趣公园
  • 沈阳正规制作网站公司吗德成建设集团有限公司网站
  • 做网站标准步骤大学两学一做专题网站
  • 如何在手机上做网站Windows怎么建设网站
  • 专门做稀有产品的网站海口网站制作设计
  • 怎么查看自己的网站是否被百度收录网站的设计制作流程
  • 视觉设计网站芜湖做网站找哪家好
  • flash网站源码带asp后台电子商务有限公司网站
  • 一个网站有多少网页简单的logo设计
  • 重庆专业网站营销长春建站免费模板
  • 企业建设网站多少钱爱的网站歌曲
  • 宁波网站优化如何欣宝儿在什么网站做直播
  • 东营网签查询系统官方网站超炫的网站模板
  • 请人做网站谁来维护南宁营销型网站设计
  • 汕头做网站的公司西安建筑科技大学华清学院教务网
  • 免费行情网站在线石家庄正规制作网站公司
  • 站长工具网凡科网商城