GNOME Bugzilla – Bug 757421
GNOME-Mud sends telnet subnegotiations one byte at a time
Last modified: 2017-12-06 16:28:52 UTC
In src/mud-telnet.c:671, the function mud_telnet_send_sub_req (and subsequent function mud_telnet_send_raw) sends data one byte at a time. Everywhere it's used, it's got a fixed size sequence to send, so it would be relatively trivial to fix this. That's one byte per packet. That's a 4000% overhead. (Granted, these things aren't sent very often...) Furthermore, it's much more convenient on the server side if short options are sent in a single packet. Multiple packets means multiple calls to receive(), forcing another layer of buffering or more complex buffering, etc.
It looks like gnet does minimal output buffering. Sometimes I get one packet per byte, sometimes I get IAC in one packet and the rest in another.
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gnome-mud/issues/17.