Re: select
Gregory Wright <[email protected]> Thu, 24 Sep 2009 06:36:38 -0700
| Newsgroups | gmane.comp.multimedia.helix.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi John, where are you at with this? 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. 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? --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