-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
>18 lines sent by TLSSupport.message getting lost #27
Comments
Hi! Thanks for reporting this, I'm going to take a look at it. By eighteen lines, do you mean eighteen separate invocations of Is there any pattern to the lost messages? For instance, are only the first few or last few messages lost, or are random messages in the queue lost? As a sidenote, |
I was sending most of them as single lines, but one block of 4 lines as a single message. Changed this to only sending single lines at a time now. Looking at the implementation of message in rfc1459/client.py it seems that the splitting into lines is already performed internally, however:
Here's my relevant code:
I do the splitting myself still since I don't want empty lines to be swallowed, replacing them by a single space. This gives me the following output on the terminal:
However in the channel, all I see is:
It does not count up to 18 because I send two lines (separately) as a preamble before that, but that should not be relevant. |
After some live debugging with @flv0 on IRC, the issue was determined to be a combination of pydle's throttle model and Charybdis' dropping of messages it presumes to be part of a flood. I've opened #28 to discuss a better implementation of pydle's flood model. |
Hi, I am running pydle master on our fileserver, which also hosts our IRC server, in order to send status information about raid health/usage etc. into our private discussion channel.
Messages are being lost, if I send more than 18 lines from a single on_message handler. It seems to me that there is some internal buffer or queue overflowing. I tried throttling send rate in my own code, but the messages will only appear if my code finished the on_message handler so that's not helping. Also I'm pretty sure it's not sending rate related, our server is not configured in any way regarding that, and I wrote irssi scripts the other day which quickly generate screens full of text, and that is displayed just fine. I also tried setting
self.connection.throttle = True
which did not change anything.I started tracking this down in the pydle code and for now stopped at the point where the asynchronous processing in tornado.ioloop begins. I suspect that either
Thanks in advance
The text was updated successfully, but these errors were encountered: