NAME

POE::Stage::Echoer - a stage that echoes back whatever it's given

SYNOPSIS

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

use POE::Stage::Echoer;
my $stage = POE::Stage::Echoer->new();

my $echo_request = POE::Request->new(
	stage     => $stage,
	method    => "echo",
	on_echo   => "handle_echo",
	args      => {
		message => "stuff to echo",
	},
);

sub handle_echo :Handler {
	my $arg_echo;
	print "Received an echo: $arg_echo\n";
}

DESCRIPTION

POE::Stage::Echoer echoes back the messages it receives.

Echoer is the first of hopefully many message-routing stages.

PUBLIC COMMANDS

Commands are invoked with POE::Request objects.

TODO - Public methods? Careful here: "method" implies a direct call.

echo message => SCALAR

Receives a scalar "message" parameter whose contents will be echoed back to the sender in an "echo"-typed return.

Ok, that's confusing. Perhaps the SYNOPSIS is clearer?

TODO - It would be nice to have a documentation convention for this sort of thing.

PUBLIC RESPONSES

Responses are returned by POE::Request->return() and/or emit().

"echo" (echo => SCALAR)

Returns an echo of the "message" given to this stage's echo() command. The echo is passed in the "echo" parameter to the "echo" response.

BUGS

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.

SEE ALSO

POE::Stage and POE::Request. The examples/ping-poing.perl program in POE::Stage's distribution.

AUTHORS

Rocco Caputo <rcaputo@cpan.org>.

LICENSE

POE::Stage::Echoer 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.