• Youness Alaoui's avatar
    Add a nice_socket_send_reliable API for internal use. · 535701b0
    Youness Alaoui authored
    One issue with tcp-bsd is that it will queue messages when the tcp socket
    is not writable, but it will also drop messages when the queue is full.
    If we want to do proper reliable ice-tcp, we need to make sure that
    messages don't get dropped, also, this would affect http/socks5/pseudossl
    if their messages get dropped. For ice-tcp, when the socket is not writable
    we want to return 0, not queue the message.
    The change here is to allow connchecks and other important protocol messages
    to be sent as 'reliable' on tcp transports by queuing them and in the various
    socket layers and to never drop them, but all user messages will be dropped.
    if the tcp socket is not writable.
socks5.c 15.3 KB