Mattia wrote the first version of POE::Loop::Wx based on the POE example loops, and I maintain it - although there hasn't been much to maintain. If you have patches to make POE::Loop::Wx better, let me know. I'll also get one of my coders to look at your modules and see if there are any ideas they can use to improve POE::Loop::Wx, although I suspect it is a fundamentally different approach that may not transfer.

For our projects, we finally dropped using HTTP and went with PoCoClientTCP and PoCoServerTCP - we got faster performance, less blocking, better control over streaming, etc. Putting a few strategic wxTheApp->Yield(); calls in our code also seems to have helped alleviate any perceived blocking issues.

HTH,

Mike.



On 17/12/07 09:33 PM, Eric Wilhelm wrote:
# from Foo JH
# on Monday 17 December 2007 19:11:

I've asked this question before, and the collective wisdom in the
wxPerl community is steering towards the use of POE instead. You may
want to consider that.

I looked at that approach in dotReader and concluded that the Wx::POE was using a (rather lazy) heartbeat. Wanting something more aggressive, I wrote MultiTask::Manager and MultiTask::Minion and hooked them to the wx idle event (plus LWP::Iterator::UserAgent.)

It does exactly what you're asking about -- non-blocking http requests.

Perhaps that could be done with Wx::POE, but the POE interface left a bad taste in my mouth.

It's all in the dotReader distro on CPAN. They could be torn-off into separate distros, but need some docs and tests.

--Eric

Reply via email to