Skip to content
  • deuce's avatar
    f997cf33
    Make the IRC_Queue recv (and the new send) method take a socket argument · f997cf33
    deuce authored
    instead of a string argument.  They perform the send/recv themselves using
    a buffer.
    
    This allows taking advantage of non-blocking sockets (in new Synchronet
    builds) to be much more responsive.
    
    This should still be compatible with the old socket.send implementation.
    The *first* send it does in blocking mode and detects if it's the new or
    old socket.send implementation and sets a global variable.  Future sends
    know if it's the old or new API and treats them accordingly.
    
    This may make new ircd running on an old build slightly less responsive
    when a new user joins or when a new link is established since it blocks
    all other ircd activity until the entire send queue has been transmitted (or
    the connection is terminated).
    f997cf33
    Make the IRC_Queue recv (and the new send) method take a socket argument
    deuce authored
    instead of a string argument.  They perform the send/recv themselves using
    a buffer.
    
    This allows taking advantage of non-blocking sockets (in new Synchronet
    builds) to be much more responsive.
    
    This should still be compatible with the old socket.send implementation.
    The *first* send it does in blocking mode and detects if it's the new or
    old socket.send implementation and sets a global variable.  Future sends
    know if it's the old or new API and treats them accordingly.
    
    This may make new ircd running on an old build slightly less responsive
    when a new user joins or when a new link is established since it blocks
    all other ircd activity until the entire send queue has been transmitted (or
    the connection is terminated).
Loading