-
deuce authored
1) Don't use socket.recvline() on non-blocking sockets. Instead, have the recvq object parse lines and receive 64k at a time. 2) Pass all received data through the recvq object rather than attempt to process one command per recv(). 3) Pass all data sent on established connections through the sendq object rather than only use it if send() fails. 4) Move client throttling completely into ircd_user.js and out of the queue processing function so we don't accidentally throttle server connections. 5) send() the entire sendq contents as a single send() rather than one line per main loop. 6) Parse the entire recvq each time through the main loop. This requires tracking when an unregistered connection is replaced by either a client or a server connection.
deuce authored1) Don't use socket.recvline() on non-blocking sockets. Instead, have the recvq object parse lines and receive 64k at a time. 2) Pass all received data through the recvq object rather than attempt to process one command per recv(). 3) Pass all data sent on established connections through the sendq object rather than only use it if send() fails. 4) Move client throttling completely into ircd_user.js and out of the queue processing function so we don't accidentally throttle server connections. 5) send() the entire sendq contents as a single send() rather than one line per main loop. 6) Parse the entire recvq each time through the main loop. This requires tracking when an unregistered connection is replaced by either a client or a server connection.
Loading