Re: select

John Stirling <[email protected]> Fri, 25 Sep 2009 09:53:16 +0100
Newsgroups gmane.comp.multimedia.helix.devel
Message-ID <[email protected]>
Gregory Wright wrote:
> Hi John, where are you at with this?
Our specific problem is fixed now. We optimised our own http plugin and 
tweaked the kick interval and can now get 24/96 .wav content fast enough.

We also tried getting select working + standard http plugin but had 
buffering issues and CPU load problems.

>
> We have not used selectors in Helix for *some* time now. They use to 
> be used
> quit a bit but have not been touched/tested in years.
>
> Are you aware that the Kick method returns the number of milliseconds you
> should sleep before calling again? The engine knows what it has scheduled
> on the schedule and when it is due to fire off and returns a number based
> on that. Perhaps that would be useful.
Yes, thanks. I wasn't aware of that.

>
> The FDSET is a pretty elegant way to wake up and take care of stuff, 
> however
> it is not complete enough for the platform's needs. You still need a 
> FD that
> wakes up every X number of MS to kick the engine. Now, you could have 
> that
> setup to use the number returned from Kick() I guess and handle it all 
> that
> way.
>
> Are you thinking of having both, a 1 second Kick() call and then a 
> FDSET for
> select to use?
Yes, something along those lines..

>
> --greg.
>
>
> On Sep 10, 2009, at 7:20 AM, John Stirling wrote:
>
>> Can someone give me some pointers into how to hook stuff into the 
>> helix core select() mechanism.
>>
>> We currently just kick helix every eg 10-50ms in a thread and are 
>> planning to replace that with a call to Selector->Select so we can 
>> kick it a bit more in line with demand from the core.
>>
>> The basic select mechanism seems to be working ok. We can kick helix 
>> eg every 1 second as default and with the call to select in our loop 
>> we will see it kick the core more regularly when something is playing.
>>
>> What I don't currently understand is how to hook something in (eg 
>> from a filesystem plugin) to the main core select mechanism. 
>> Specifically we have a replacement http filesystem that uses curl for 
>> the transfers and want to add the stuff returned from 
>> curl_multi_fdset (i think) into the list.
>>
>> John
>>
>>
>>
>> _______________________________________________
>> Helix-client-dev mailing list
>> [email protected]
>> http://lists.helixcommunity.org/mailman/listinfo/helix-client-dev
>