Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
POE::Request::Recall(3User Contributed Perl DocumentatiPOE::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;
		       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
	       ----------------------- -------------------------
	       :		       (receives the request)
	       :		       $req->emit(...)
	       (receives the emit)
	       :		       (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

   new PAIRS
       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 <> for known
       issues.	See <>	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 <>.

       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.

perl v5.32.1			  2009-06-11	       POE::Request::Recall(3)


Want to link to this manual page? Use this URL:

home | help