常见拥塞控制方法 缓冲区预分配法 该法用于虚电路分组交换网中。在建立虚电路时,让呼叫请求分组途经的节点为虚电路预先分配一个或多个数据缓冲区若某个节点缓冲器已被占满,则呼叫请求分组另择路由,或者返回一个"忙"信号给呼叫者。这样,通过途经的各节点为每条虚电路开设的永久性缓冲区(直到虚电路拆除),就总能有空间来接纳并转送经过的分组 分组丢弃法 该法不必预先保留缓冲区,当缓冲区占满时,将到来的分组丢弃 定额控制法 这种方法在通信子网中设置适当数量的称做"许可证"的特殊信息,一部分许可证在通信子网开始工作前预先以某种策略分配给各个源节点,另一部分则在子网开始工作后在网中四处环游。当源节点要发送来自源端系统的分组时,它必须首先拥有许可证,并且每发送一个分组注销一张许可证。目的节点方则每收到一个分组并将其递交给目的端系统后,便生成一张许可证。这样便可确保子网中分组数不会超过许可证的数量,从而防止了拥塞的发生
2021-11-10 20:03:48 365KB 网络 拥塞控制
1
STM32进阶之串口环形缓冲区实现 FIFO,代码精简,易实现。
2021-11-09 20:26:31 280KB 缓冲 FIFO 串口 STM32
1
C语言实现环形缓冲区,可供多线程读写操作
2021-11-08 14:17:15 5KB 环形缓冲区 多线程 C语言
1
这个环形缓冲区是基于http://circularbuffer.codeplex.com/ 、 http://en.wikipedia.org/wiki/Circular_buffer 修改的 最近自己项目用到的一个缓冲区,理论上支持多线程在自己的多线程项目测试过,暂时没有问题下面科普下环形缓冲区在内存里的变化: 环形缓冲区首先从空开始并具有设置的长度;在下图中,是一个7字节的缓冲区: 假设在环形缓冲区的中心写入1(确切的起始位置在环形缓冲区中并不重要): 然后,假设将另外两个字节(23)添加到环形缓冲区,它们将放在1之后: 如果删除了两个字节,则环形缓冲区内部的两个最早加入的值将被删除。 环形缓冲区使用FIFO(先进先出)逻辑。 在示例1和2中,第一个进入“环形缓冲区”则第一个被移除,而将3留在缓冲区中。 如果缓冲区有7个字节,则它已经完全占满: 环形缓冲区的一个特性是,当缓冲区已满并执行后续写入操作时,它将开始覆盖最早的数据。 在当前示例中,添加了两个元素A和B并覆盖 了3和4: 最后,如果现在删除了两个字节,则返回的不是3&4而是5&6,因为A&B覆盖了3&4,产生了带有以下内容的缓冲区: 环形缓冲区使用说明: 环形缓冲区的特性是,在使用环形缓冲区时,不会导致内部数据乱七八糟。 (如果使用了非环形缓冲区,那么在没取一个字节时,就必须对所有字节进行移位。)换句话说,环形缓冲区非常适合作为FIFO(先进先出)缓冲区,而标准缓冲区则适合用作FIFO(先进先出)缓冲区。非环形缓冲区非常适合用作LIFO(后进先出)缓冲区。 对于具有固定最大大小的队列,使用环形缓冲是一种很好的实现策略。如果队列采用最大大小,则环形缓冲区是完全理想的实现;所有队列操作都是固定时间。但是,扩展循环缓冲区需要转移存储器,这是非常耗时和消耗资源的。对于任意扩展的队列,可以首选使用链表方法。 这个是24个字节的环形缓冲区 当写指针即将到达读指针时(由于微处理器没有响应),缓冲区停止记录击键。 在某些计算机上会发出哔声。这个排版真累人- .- 2021/5/16  源码更新: [+] 为了大家方便理解新增了Demo 2021/5/15  源码更新: [!] 修复致命BUG,受影响函数:CircularBufferGetBytes、CircularBufferGetBytesFoIndex、CircularBufferPutToMem、CircularBufferPutBytes 下面为更新后代码:
2021-11-05 10:16:05 388KB 高级教程源码
1
缓冲区查询代码,实现基本的缓冲区查询代码。。。
2021-11-04 23:45:12 926B 缓冲区查询
1
《Q版缓冲区溢出教程》的随书源码,对应书中的实例。
2021-11-03 15:18:16 8.96MB 缓冲区溢出 教程 源码
1
包含attack,exploit
2021-11-01 21:00:12 619KB 计算机系统
1
labview 的环形缓冲区组件,在NI 官网上找到的。强大的功能哦,比labview 自带的好
2021-10-13 14:01:20 841KB labview 环形缓冲区 组件
1
AE c#2次开发
2021-10-12 09:54:57 37.02MB 源码,数据
1