代码改变世界

高性能服务框架revolver:RUDP(可靠UDP)算法详解(3)

2015-01-28 14:12 by crow!, 460 阅读, 0 推荐, 收藏, 编辑
摘要:接收缓冲区相对比较简单,其主要功能是接收发送方的数据并生成接收块、块排序、丢包判断和反馈、读事件通知等。以下是接收缓冲区的定义:class RUDPRecvBuffer{public: ... //来自网络中的数据 int32_t on_data(uint64_t seq, const uin... 阅读全文

高性能服务框架revolver:RUDP(可靠UDP)算法详解(2)

2015-01-28 14:10 by crow!, 575 阅读, 0 推荐, 收藏, 编辑
摘要:除了发送函数以外,发送缓冲区对象还会响应来自网络的on_ack和on_nack消息,这两个消息分别是处理正常的状态报告和丢包情况下的网络报告。如果收到on_ack,缓冲区对象会把已经接收端报告过来的报文ID全部从发送窗口中删除,然后调用attempt_send尝试新的块发送。如果收到的是on_nac... 阅读全文

高性能服务框架revolver:RUDP(可靠UDP)算法详解

2015-01-28 14:09 by crow!, 2723 阅读, 0 推荐, 收藏, 编辑
摘要:数据块定义在RUDP模块中,所有发送的数据被定义成RUDPRecvSegment 和RUDPSendSegment结构,其中RUDPSendSegment是发送块定义,RUDPRecvSegment 是接收块定义。如下://发送数据片typedef struct tagRUDPSendSegment... 阅读全文

VC多线程编程学习笔记(一)

2015-01-28 11:07 by crow!, 218 阅读, 0 推荐, 收藏, 编辑
摘要:VC多线程编程学习笔记(一) 最近两天在学多线程编程,有了一些心得,写下来和大家一起共勉。文中一些部分引用了韩耀旭的文章《多线程编程》http://www.vckbase.com/document/viewdoc/?id=1704和MSDN资料。一、缘起工作上要用到串口编程,本来一直是用mscomm... 阅读全文

Qt之Tab键实现(自由切换焦点)

2015-01-23 09:42 by crow!, 3039 阅读, 0 推荐, 收藏, 编辑
摘要:在Qt中,有一些特殊的按键比如说Tab键,默认Tab事件(切换焦点)被先捕获了,所以如果想自定义Tab键的使用应该如何实现呢?在实际需求中我主要是实现QLineEdit、QCheckBox、QPushButton、QToolButton之间的切换,可以根据自己的程序修改切换顺序。当然如果自己不去实现... 阅读全文