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