Muduo网络编程之使用Timing wheel 踢掉空闲连接

本文介绍了如何使用Muduo网络库中的Timing Wheel数据结构来踢掉空闲连接,详细解析了模拟轮盘的过程以及智能指针在管理连接时的角色。在模拟轮盘部分,讨论了数据结构的特性,如随机访问、固定容量和自动弹出。而在智能指针的使用中,解释了如何利用WeakPtr作为上下文变量,确保连接在接收到消息时能更新其在时间轮盘的位置。最后,提到了在回调过程中智能指针引用计数的变化,并给出相关参考资料。
摘要由CSDN通过智能技术生成

这部分原理可以直接参考http://blog.csdn.net/solstice/article/details/6395098

本文记录自己的理解和部分代码注释。

1.模拟轮盘

通过boost::circular_buffer来模拟轮盘。简单学习了一下关于这个数据结构的内容。
它有如下特性:

1.支持随机访问
2.固定容量
3.插入元素超过容量时会对头部或者尾部元素弹出

下面看一个简单示例:

#include <iostream>
#include <limits>
#include <boost/circular_buffer.hpp>


using namespace std;
using namespace boost;


void print(const circular_buffer<
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值