twisted iocp reactor is still buggy---it was fixed on 23/10/2012

   I reported a bug on last weekend...This bug can be easily reproduced by sending continuous small chunks data. If we use pb or amp and send any data whose size can't fit the buffer (128K),

 

iocp reactor will raise a ERROR_IO_PENDING. and close the connection immediately. It looks like many write events are triggered instead of one.

 

 

two ways to work around:

 

1: increase the buffer limit.

 

2: don't try to send chunks data in a very short period...

 

 

after years development, iocp has been improved but not enough...comparing with other reactors like epoll,,,it is still experimental.

 

 

update: I have solved this bug. patch will be submitted soon.

 

This bug actually was triggered when SEND_LIMIT is reaching. IOCP may re schedule the writing operation which will lead to doWrite is called twice for the same data. When PB is unable to deserialize these bytes, it will simply close the connection and raise an exception.

 

        What we need to do is to make sure doWrite being invoked in order. When the callback isn't invoked, we shouldn't call doWrite again.

 

     I introduced an variable to solve this bug. now the test pass.

高精地图语义分割标注 什么是语义分割?语义分割与目标检测的区别?语义分割的关键应用场景有哪些?高精地图语义分割标注的难点? 阅读详情

相关推荐

别再瞎调了!STM32 Systick延时函数避坑指南(正点原子、野火、慧净代码对比)

本文深入解析STM32 Systick延时函数的实现差异与优化策略,对比正点原子、野火、慧净等主流方案的优缺点。针对us和ms级延时精度问题,提供避坑指南和高级优化技巧,帮助开发者根据项目需求选择最佳方案,提升嵌入式系统的定时控制精度。

weixin_28717807的博客 340

Python Twisted介绍

Python Twisted介绍 http://blog.csdn.net/hanhuili/article/details/9389433 Python Twisted介绍 – hanhuili的专栏 – 博客频道 – 优快云.NET 原文链接:http://www.aosabook.org/en/twisted.html 作者:Jessic

wrk的博客 579

Visual MODFLOW Flex 6.1新手入门:从数据导入到3D建模的完整工作流解析

本文为Visual MODFLOW Flex 6.1新手提供了从零开始构建地下水数值模型的完整工作流指南。详细解析了从项目规划、数据准备与导入,到构建三维概念模型、生成并运行数值模型,直至结果可视化与校准的核心步骤。帮助水文地质与环工领域初学者快速掌握这一专业软件,高效完成从数据到三维建模的全过程。

a1b2c的博客 799

twisted(iocp)程序在用py2exe打包时的问题

应用程序中打包服务器时用到了iocp import sitecustomize from twisted.internet import iocpreactor iocpreactor.install() from twisted.internet import reactor, threads import sys,os, shutil,pickle from modles impo

xugangjava的专栏 2106

把“思考”塞进 1 KB:我用纯 C 语言给单片机手搓了一个微型 Transformer 推理引擎

摘要:本文探讨了在64KB SRAM的MCU(如STM32H743)上部署精简Transformer模型的技术方案。通过将6层Transformer压缩至1层(隐藏维度128)、4-bit KV-Cache量化等优化手段,实现了240KB Flash占用和59KB RAM峰值,推理延迟184ms(400MHz Cortex-M7),准确率96.1%。关键创新包括:手工优化矩阵乘(CMSIS-NN)、查表法Softmax/LayerNorm、权重按Tile重排提升Cache命中率(60%→94%)。

qq_74383080的博客 2921

MATLAB基础应用精讲-【数模应用】PPO算法(附python代码实现)(二)

表示为状态转移概率和动作选择概率的乘积,因为状态和动作决定轨迹。

qq_36130719的博客 412

reactor和proactor模式

首先分享一下,我在网上看到的两篇不错的文章:正是这两篇文章才理解了reactor和proactor模式; Reactor模式,或者叫反应器模式 高性能IO设计的Reactor和Proactor模式 首先就第一篇《Reactor模式,或者叫反应器模式》做一下笔记: 刚开店做生意,老板为了给顾客一个美好的印象,给顾客最好的服务,一对一: 随着经营的生意越来越好,顾客多了,...

系统运维 1532

手把手教你学 MATLAB 实战训练(6.5):基础实战实例

MATLAB 是一款强大的数学软件,广泛应用于工程计算、信号处理、控制系统设计、图像处理等领域。学习 MATLAB 不仅可以提高你的编程技能,还能帮助你解决实际的数学和工程问题。下面我将通过几个实战训练实例来教你如何使用 MATLAB。

xiaoheshang_123的博客 366

twisted学习笔记之:综述和reactor概述

我是今年暑假开始正式加入到python学习正营的。一开始学习,我就深深的喜欢上了它。因为以前一直是用c和c++,虽然也学过java但课程结束后就没再用过了。所以用的最多的还是c和c++,这两种语言我都是很喜欢的,感觉各自都有自己的优点。当看了《thinking inc++》之后,我才真正知道了c++的强大和很多奥妙,c++是一门智者使用的编程语言。任何一个想真正领略c++灵魂的人估计都得十

不得闲.闲忆居 5120

DLMS/COSEM协议的理解体会

DLMS是通信协议,COSEM是电表建模规范。HDLC帧基本格式为0x7e......

一个bug是bug,多个bug能work 8311

基于STM32+4G模块设计的智能灌溉系统

当前智能灌溉系统分为三个部分:温湿度采集部分、灌溉系统部分、OneNet云平台。 灌溉系统部分增加刷卡功能,用户可以通过IC卡刷卡将金额刷到灌溉系统设备里,灌溉系统设备里会记录金额,并且在手机可视化页面上会显示当前的设备金额。 金额会随着时间进行递减,按分钟计费,如果计费到0,就无法启动灌溉,需要重新充值金额才能继续。

4512

再谈select, iocp, epoll,kqueue及各种I/O复用机制

上篇文章太过幼稚,一派胡言,希望没有误导大家。。我也是菜鸟,学习本身就是一个不断追求真理的过程,希望能谅解:)首先感谢kasicass GG指出错误(已经指导我很多次了,非常感谢~~),然后我又查阅了一些资料,再次整理,more seriously and detailedly~ 首先,介绍几种常见的I/O模型及其区别,如下: blocking I/O n

Shallway 5万+

Buck电源设计常见的一些问题(四)MOS管振荡抑制方法(二)

另一方面,开关振铃为远超开关频率的高频振铃,并伴随很高的 dV/dt,会带来传导和辐射的 EMI 问题,可能会使得终端产品不能通过 EMI 标准测试,更严重时甚至会干扰开关电源自身的信号电路或临近的其他功能电路的正常工作。选用二极管反向特性好的器件;该电路可等效成图 3 中 LC 谐振电路,新的 LR和 CR为 Lp1、Lp5,Lp3, Lp4, CD等所有参与振铃的寄生感容的复合值。通常 Snubber 的 Csnub取值在数 nF 以上,在振铃频率 fR(加了 snubber 后)下的阻抗很小。

小幽余生不加糖 2892

再谈twisted

现在我手头用的是11.0。 很好。没什么很大的问题,原来的版本对于iocp有个很奇怪的问题,现在被修复了。   今天在中文列表看了一下一堆人推荐gevent。许多人认为twisted是很twisted。文档不易懂,而且并不算太好用。   老实说twisted 的 core doc还是不错的,起码比那本 twisted programming要好。后者的例子大多都不知所云,看了更加令人崩溃。...

mathgl 161

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Twisted 跨平台物联网消息网关

物联网网关 """ 功能定义:为智能云设备提供云服务、用户通过手机远程控制智能设别运行 项目依赖:Twisted + SQLAlchemy + ZeroMQ OpenSSL : 安全组件库,提供安全的传输层接口 —— 完成对SSL接口的开发 ZeroMQ :高效的消息队列中间件 —— 完成不同主机间的通信 其他依赖库 : 查看 requirement.txt 文件 """ # 安装其他依...

weixin_43056654的博客 892

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

epoll Reactor 与 iocp 模型

epoll reactor : 能收了告知我 ! iocp : 最多给我收wsabuf.len个字节, 收完告诉我!

x 306

Reactor模型与epoll模型的区别

select模式的特点: 1.单个进程监测的fd受限制,默认下是1024个文件描述符; 2.轮询式检查文件描述符集合中的每个fd可读可写状态,IO效率会随着描述符集合增大而降低; 3.可以采用一个父进程专门accept,父进程均衡的分配多个子进程分别处理一部分的链接,子进程采用select模型监测自己负责的fd的可读可写。

工匠精神coding,终生学习 8441

python的third party llibs

最近应用py构建后端的整个应用层。用到不少第三方的lib。有些不怎么符合要求,于是动手改改。现在慢慢发现   改py的东西还是挺好玩的,代码大部分易读易懂,dependency也少,不用搞一大堆的包。     工作需要 以前改别人的lib很少,只有早些年改过一个 wx widgets 连接 mysql的一个macro。   之后改过 java tokyo cabinet的client...

mathgl 740

我与python的故事

Python的历史大概从90年代初开始, 不过当时在中国知道这个名字的人我猜测可能很少。 而我知道这个名字的时候已经是2004年初了。当时我回国过年,年后去广州办事,偶一日因为等人无聊于是跑到天河的一间书店看书。我翻过的其中一本书是蔡学镛的<<java夜未眠>>,在比较靠后的某一章提到Python. 他的comment: 易学易用,功能强大,国外很多人使用. 当时我不免觉...

mathgl 491

cython的另类用途

都知道py虽然方便但是却有个不是问题的问题:就是发布时的二进制格式的限制。   常用的打包有cx_freeze, py2exe等。此类工具大多将py变为pyc然后放置在.zip文档中。对于某些加密的需求可能不大合适..   于是这时候cy就可以派上用场了。   cy的其中一个功能就是把寻常的py代码变为c wrapper py c api的形式的调用。最后变为.pyd (一个标准的.d...

mathgl 299

swig, python, g++

最近在搞GIS的东西,有些底层的库需要封装为python的extension.   swig虽然古老,但是是个不错的东西, 对于c-style的library来说 很适合。   在编译为动态库前记得将后缀名改为 .pyd 按照swig的文档 .so 和 .dll 均不起作用。很奇怪   使用环境: python 2.5 mingw g++ ver: 3.4.5 swing 1....

mathgl 249

build pyrun/python from source

quite easy on ubuntu.   1: build sqlite first.. use the latest autoconf version 2: apt-get install libbz2-dev 3: apt-get install zlib1g-dev 4: apt-get install libssl-dev 5: apt-get install lib...

mathgl 240

speeding up python

python确实是十分慢的语言,有多慢?不好说,我测试过一些非io相关的程序,比java慢大约50倍是有的,比c++只会更慢(除了string操作外)   幸好python从来不缺各种工具,对于加快速度的工具选择更是丰富。数了一下有: pypy, psyco, cython,swig,pyrex等等。   这些工具的一个核心抽象说来只有一点:找出慢的部分然后把它变快。 直观的做法是把慢的部...

mathgl 228

static building lxml

well  it is not really straightforward..   when building with static deps like python setup.py build --static_deps   you may see two possible errors   1: when you saw crc iconv.xx error, you c...

mathgl 227
上一篇: One way to speed up Pb invoke.
下一篇: build Ice 3.4.2 on redhat 5.1 64bit
mathgl
博客等级 码龄19年 1粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值