Skip to content
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

When sending big enough data in one message, loudmouth gets blocked and disconnects #2

Open
isbear opened this issue Mar 14, 2010 · 3 comments

Comments

@isbear
Copy link
Collaborator

isbear commented Mar 14, 2010

Order of events:

  1. You send big enough (for your internet channel) message to activate lm buffering.
  2. Loudmouth sends first portion of message and puts remaining part into buffer.
  3. Upon next call to socket writer, loudmouth will try to send all remaining data in one pass - i.e. it will stop only when socket will return error, EAGAIN will not cause it to break the loop and wait for next chance. This is one issue. Situation gets worse, because there's three places, where it should be fixed - plaintext connection (relatively easy), and two ssl engines.
  4. There I am not so sure, but such situation usually results in reconnect due to ping timeout. Maybe loudmouth should take into account buffering state, when estimating channel vitality. Ping requests get appended to the end of buffer, and until that message was sent, they will remain unsent...

P.S. An easy way to get busy enough channel - is to fill it with outgoing torrent traffic.

@wschlich
Copy link

wschlich commented Feb 8, 2016

Is this still valid for 1.5.2?

@isbear
Copy link
Collaborator Author

isbear commented Mar 19, 2016

Not sure, need to retest the issue. Not right now, though. Probably still valid, but not that important anymore, since it's hard to get really bad internet channel now.

@PsySc0rpi0n
Copy link

Looks like this is kin of dead! It's said that no more support/maintenance will be provided.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants