GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
POE::Request::Recall(3) User Contributed Perl Documentation POE::Request::Recall(3)

POE::Request::Recall - encapsulates responses to POE::Request::Emit

        # Note, this is not a complete program.
        # See the distribution's examples directory.

        my $rsp;
        $rsp->recall(
                method  => "method_name",     # invoke this method on Emit's creator
                args      => {
                        param_1 => 123,               # with this parameter
                        param_2 => "abc",             # and this one, too
                },
        );

POE::Request::Recall objects encapsulate responses to POE::Request::Emit objects. They are created internally by POE::Request::Emit's recall() method.

They are quite like POE::Request objects, except that they are not created with a "stage" parameter. Rather, the destination stage is the one that originally created the previous POE::Request::Emit object.

Consider this persistent dialogue between two stages:

        Requester               Servicer
        ----------------------- -------------------------
        POE::Request->new(...)
        :                       (receives the request)
        :                       $req->emit(...)
        (receives the emit)
        $rsp->recall(...)
        :                       (receives the recall)
        :                       $req->return(...)
        (receives the return)

A stage requests a service from another stage. The servicer stage emits an intermediate response, which is handled by the requester. The requester uses recall() to send more information. The servicer stage handles the new message by calling return(), ending the dialogue.

POE::Request::Emit and POE::Request::Recall reuse the original POE::Request closure rather than create new ones. This allows each side of the dialog to store state that persists for the life of the dialog.

Create a new POE::Request::Recall object, specifying the "method" to call in the POE::Stage object on the other end of the dialog. An optional "args" parameter should contain a hashref of key/value pairs that are passed to the destination method as its $arg_ parameters.

See <http://thirdlobe.com/projects/poe-stage/report/1> for known issues. See <http://thirdlobe.com/projects/poe-stage/newticket> to report one.

POE::Stage is too young for production use. For example, its syntax is still changing. You probably know what you don't like, or what you need that isn't included, so consider fixing or adding that, or at least discussing it with the people on POE's mailing list or IRC channel. Your feedback and contributions will bring POE::Stage closer to usability. We appreciate it.

POE::Request, POE::Request::Emit, and probably POE::Stage.

Rocco Caputo <rcaputo@cpan.org>.

POE::Request::Recall is Copyright 2005-2006 by Rocco Caputo. All rights are reserved. You may use, modify, and/or distribute this module under the same terms as Perl itself.
2009-06-11 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.