- 博客(8)
- 资源 (6)
- 收藏
- 关注
原创 欢迎使用CSDN-markdown编辑器
static int mysql_init(dp_plugins_t *plugin) 设置私有长度 设置私有函数的回调函数 das_disp_reg_app_dispatcher(APP_DB_MYSQL, MYSQL_PRIORITY, mysql_handl
2017-04-06 17:51:22 154
原创 Protobuf
Protocol Buffers (ProtocolBuffer/ protobuf )是Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。现阶段支持C++、JAVA、Python等三种编程语言。2.protobuf相比Xml的优点•更简单 •数据描述文件只需原来的1/10至1/3 •解析速度是原来的20倍至100倍 •减少了二义性
2017-03-27 11:04:55 312
原创 time_wheel
time_wheel实际就是个时间轮定时器,时间轮定时器就不多解释了看下高性能服务编程那本书的时间轮定时器就ok了,muduo的时间轮只不过是时间轮定时器的可以说一部分吧,这里的一开始初始化定时器的一轮tick的次数,因为主要就是针对每一个用户都是在相同的一定时间内没有再次访问的服务端需要断开与客户端连接,因此添加客户端连接信息的时候不必要添加定时时间,只需要当前tick的时的添加的,当轮到下一轮
2017-03-24 10:58:35 308
原创 测量两台机器的网络延时
time()/time_t(秒) ftime()/struct timeb(毫秒) gettimeofday(2)/struct timespec(微秒) clock_gettime(2)/struct timespec(纳秒) muduo计时使用的是gettimeofday(2)获取当前时间此函数在用户态实现的不存在上下文切换和陷入内核的开销时间差求法客户端定时0.2秒发送一个 int6
2017-03-21 16:53:38 1358
原创 统计周期吞吐量
muduo EventLoop有三个定时器接口函数class EventLoop :boost::noncopyable { TimerId runAt(const Timestamp&time, const TimerCallback&cb); //在指定的时间调用 TimerCallback TimerId runAfter(const Timestamp&time, c
2017-03-21 14:21:11 465
原创 Buffer数据结构
muduo中的Buffer为封装了的vector。vector为一块连续空间,且其本身具有自动增长的性质,它的迭代器为原始指针,使用起来较为方便。 vector另外Buffer有两个data member,指向该vector中的两个元素,这两个index为int类型。 为什么这两个index为int类型? vector自带自动扩增功能,要是index为指针的话,扩增之后指针会失效,而int类
2017-03-20 17:27:32 1736
原创 Buffer
Buffer其实像一个queue,从末尾写入数据,从头部读出数据。 Tcp有两个Buffer成员,input buffer与output buffer。 intput buffer,TcpConnection会从socket读取数据,然后写入input buffer(实际为Buffer::readFd()完成的),客户端代码从input buffer读取数据。 output buffer 客户
2017-03-20 17:14:32 339
原创 日志
“日志”有两个意思: 诊断日志 交易日志muduo没有采用标准库的iostream,而是自己写的logStream Class,这主要是出于性能原因 LogStream做到了类型安全和类型可扩展,效率也较高。 整数转换字符串是最忌写的额,用的是Matthew Wilson(http://m.blog.csdn.net/article/details?id=46524267)的
2017-03-18 17:04:00 168
长途计费器课程设计
2015-08-03
五子棋课程设计
2015-08-03
魔王语言课程设计
2015-08-03
电影购票系统
2015-08-03
蒙特霍问题
2015-08-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人