Thanks for your explanation. One more question, even I use the default 
event loop , I handle the packet in the other threads, so I have to send 
packet from the other threads to the default one .Because the api 
is thread-UNsafe , what is the right way to send packet?

在 2018年10月25日星期四 UTC+8下午7:56:37,Iñaki Baz Castillo写道:
>
> You are free to create N loops if somehow, you need them. No use case 
> coming to my mind, but why not?
>
> Now, when it comes to just handle network sockets, I see no benefit in 
> having N loops.
>
> Note: mediasoup uses a single libuv loop per worker subprocesses, but it 
> runs N subprocesses to use all CPUs in the host.
>
> El jue., 25 oct. 2018 13:41, Chen Cong <[email protected] <javascript:>> 
> escribió:
>
>> I am a newbie of libuv :) . I know mediasoup , it just uses one event 
>> loop(default event loop). So should I just use one event loop in my code, 
>> and why libuv provides an api to creating uv_loop_t ? The default event 
>> loop is enough.
>>
>> 在 2018年10月25日星期四 UTC+8下午7:24:32,Iñaki Baz Castillo写道:
>>>
>>> One event loop per UDP handle? Well, the idea behind an event loop is 
>>> not having to create N threads for handling N sockets or file 
>>> descriptions. 
>>> On Thu, 25 Oct 2018 at 13:14, Chen Cong <[email protected]> wrote: 
>>> > 
>>> > Thanks for your quick reply. 
>>> > 
>>> > Actually I implement my own WebRTC ICE stack(I think you know what I 
>>> mean :) ), and I create one event loop for each udp handle . Because  loop 
>>> would block the main thread , I also create one thread for each loop (I 
>>> have no idea if I use the loop in the right way). So uv_udp_try_send is 
>>> called in the other thread. 
>>> > 
>>> > 在 2018年10月25日星期四 UTC+8下午6:07:13,Saúl Ibarra Corretgé写道: 
>>> >> 
>>> >> 
>>> >> 
>>> >> > On Oct 25, 2018, at 10:10, Chen Cong <[email protected]> wrote: 
>>> >> > 
>>> >> > Hi, 
>>> >> > 
>>> >> > I use libuv to build a high throughput  udp server , and I have 
>>> some questions about  libuv. 
>>> >> > 
>>> >> > 1.  using "uv_udp_send" or  "uv_udp_try_send" ?  I use 
>>> "uv_udp_try_send" now , and it seems that "uv_udp_try_send" is thread-safe. 
>>> >> > 
>>> >> 
>>> >> It’s not. Even if it may coincidentally be, that’s en implementation 
>>> detail. All APIs are thread-UNsafe unsafe unless stated otherwise. 
>>> >> 
>>> >> > 2. if "uv_udp_try_send" is better , how can I use it to send packet 
>>> ? I know "uv_udp_try_send" is not thread-safe,  and I find a related 
>>> thread. I want to know if  PC-capable pipe server  is still a good way to 
>>> solve this situation. 
>>> >> > 
>>> >> 
>>> >> I don’t understand the question. One is not better than the other, 
>>> they server different purposes. uv_udp_try_send will not queue data so you 
>>> can call it with a stack allocated buffer for example. When using 
>>> uv_udp_send, the request needs to “survive” until the callback is called. 
>>> >> 
>>> >> The typical use case is to try to send the packet with try_send, and 
>>> if it doesn’t succeed, send it with the regular send. 
>>> >> 
>>> >> I don’t understand why you mix threads with these APIs. 
>>> >> 
>>> >> 
>>> >> Cheers, 
>>> >> 
>>> >> -- 
>>> >> Saúl 
>>> >> 
>>> > -- 
>>> > 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 [email protected]. 
>>> > To post to this group, send email to [email protected]. 
>>> > Visit this group at https://groups.google.com/group/libuv. 
>>> > For more options, visit https://groups.google.com/d/optout. 
>>>
>>>
>>>
>>> -- 
>>> Iñaki Baz Castillo 
>>> <[email protected]> 
>>>
>> -- 
>> 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 [email protected] <javascript:>.
>> To post to this group, send email to [email protected] <javascript:>
>> .
>> Visit this group at https://groups.google.com/group/libuv.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/libuv.
For more options, visit https://groups.google.com/d/optout.

Reply via email to