BTW issue open: https://github.com/libuv/libuv/issues/2536
On Wed, 6 Nov 2019 at 13:30, Iñaki Baz Castillo <i...@aliax.net> wrote: > > Thanks, will do. > > On Wed, 6 Nov 2019 at 01:51, Santiago Gimeno <santiago.gim...@gmail.com> > wrote: > > > > Hi Iñaki, > > > > I don't think there is a way right now though I think it might be > > implemented by extending the uv_udp_send_t structure to hold a > > "before_send" cb so you can set the option, which in turn could bet unset > > in the send_cb. (extending the uv_udp_send_t might be possible by using one > > entry in the reserved field of the uv_req). Of course, this is just an idea > > which could be bad or simply wrong. I would open an issue in the libuv repo > > to discuss your use case and possible solutions. > > > > Cheers, > > > > Santi > > > > El mar., 5 nov. 2019 a las 6:18, Iñaki Baz Castillo (<i...@aliax.net>) > > escribió: > >> > >> Hi, just wondering how to deal with this scenario in which I need to > >> set different DSCP values to UDP packets (actually IP packets) sent on > >> the same uv_udp_t handle. > >> > >> For instance, I send RTP audio and video packets and need to set a > >> specific DSCP/ToS value **just** for audio packets: > >> > >> pseudo-code: > >> ------------------------------------------------- > >> int tos = 0x60; // CS3 just for audio packets. > >> uv_os_fd_t fd; > >> > >> // Get the real file descriptor from our libuv UDP handle: > >> uv_fileno((const uv_handle_t*)udpHandle, &fd); > >> > >> // Set ToS/DSCP: > >> if (setsockopt(sock, IPPROTO_IP, IP_TOS, &tos, sizeof(tos)) < 0) { > >> fprintf(stderr,"Error setting TOS: %s\n", strerror(errno)); > >> } > >> > >> // Try to send the packet synchronously: > >> uv_udp_try_send(....); > >> > >> // It fails, so send it asynchronously: > >> uv_udp_send(....); > >> -------------------------------------------------- > >> > >> This is: before sending each packet I need to call setsockopt() with > >> the corresponding DSCP/ToS value for that packet. However, since I may > >> need to use uv_udp_send() it may happen that, when libuv finally sends > >> the RTP audio packet, the socket DSCP setting may has been modified > >> again due to a new call to setsockopt() for a different packet to be > >> sent. > >> > >> Just wondering if there is a way to tell libuv "please send this > >> socket option for sending this data no matter when such a data is > >> actually sent. > >> > >> Thanks a lot. > >> > >> > >> -- > >> Iñaki Baz Castillo > >> <i...@aliax.net> > >> > >> -- > >> You received this message because you are subscribed to the Google Groups > >> "libuv" group. > >> To unsubscribe from this group and stop receiving emails from it, send an > >> email to libuv+unsubscr...@googlegroups.com. > >> To view this discussion on the web visit > >> https://groups.google.com/d/msgid/libuv/CALiegfmopAxJ1q-dPnB0zOk%3Dx0q_78U3VVpqZ%2BnDaNq0xoAmrw%40mail.gmail.com. > > > > -- > > You received this message because you are subscribed to the Google Groups > > "libuv" group. > > To unsubscribe from this group and stop receiving emails from it, send an > > email to libuv+unsubscr...@googlegroups.com. > > To view this discussion on the web visit > > https://groups.google.com/d/msgid/libuv/CAAJY-XMQWUuCifhqy0evsN3hHhcDrRvMe4cM%2BQhVSmpOsB3Oxw%40mail.gmail.com. > > > > -- > Iñaki Baz Castillo > <i...@aliax.net> -- Iñaki Baz Castillo <i...@aliax.net> -- You received this message because you are subscribed to the Google Groups "libuv" group. To unsubscribe from this group and stop receiving emails from it, send an email to libuv+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/libuv/CALiegfkcyxzkicicHNi_6Y8Kn4miqdUs9mLgBotvuuDwN6ucXw%40mail.gmail.com.