ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-Fork-RPC/RPC.pm
(Generate patch)

Comparing AnyEvent-Fork-RPC/RPC.pm (file contents):
Revision 1.14 by root, Thu Apr 18 13:11:12 2013 UTC vs.
Revision 1.15 by root, Thu Apr 18 13:15:23 2013 UTC

372 372
373The default server used in the child does all I/O blockingly, and only 373The default server used in the child does all I/O blockingly, and only
374allows a single RPC call to execute concurrently. 374allows a single RPC call to execute concurrently.
375 375
376Setting C<async> to a true value switches to another implementation that 376Setting C<async> to a true value switches to another implementation that
377uses L<AnyEvent> in the child and allows multiple concurrent RPC calls. 377uses L<AnyEvent> in the child and allows multiple concurrent RPC calls (it
378does not support recursion in the event loop however, blocking condvar
379calls will fail).
378 380
379The actual API in the child is documented in the section that describes 381The actual API in the child is documented in the section that describes
380the calling semantics of the returned C<$rpc> function. 382the calling semantics of the returned C<$rpc> function.
381 383
382If you want to pre-load the actual back-end modules to enable memory 384If you want to pre-load the actual back-end modules to enable memory
693are queued and the jobs are slow, they will all run concurrently. The 695are queued and the jobs are slow, they will all run concurrently. The
694child must implement some queueing/limiting mechanism if this causes 696child must implement some queueing/limiting mechanism if this causes
695problems. Alternatively, the parent could limit the amount of rpc calls 697problems. Alternatively, the parent could limit the amount of rpc calls
696that are outstanding. 698that are outstanding.
697 699
700Blocking use of condvars is not supported.
701
698Using event-based modules such as L<IO::AIO>, L<Gtk2>, L<Tk> and so on is 702Using event-based modules such as L<IO::AIO>, L<Gtk2>, L<Tk> and so on is
699easy. 703easy.
700 704
701=back 705=back
702 706

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines