Thread-Queue-Duplex

 view release on metacpan or  search on metacpan

classdocs/Thread/Queue/Duplex.pod.html  view on Meta::CPAN

decremented each time <code>ignore()</code> is called, and, if
the &quot;listener required&quot; flag has been set on construction, tested
for each <code>enqueue()</code> call.</li>
</ul>

<p>A normal processing sequence for Thread::Queue::Duplex might be:</p>

<pre>	#
	#	Thread A (the client):
	#
		...marshal parameters for a coroutine...
		my $id = $q-&gt;enqueue('function_name', \@paramlist);
		my $results = $q-&gt;dequeue_response($id);
		...process $results...
	#
	#	Thread B (the server):
	#
		while (1) {
			my $call = $q-&gt;dequeue;
			my ($id, $func, @params) = @$call;
			$q-&gt;respond($id, $self-&gt;$func(@params));

lib/Thread/Queue/Duplex.pod  view on Meta::CPAN

the "listener required" flag has been set on construction, tested
for each C<enqueue()> call.

=back

A normal processing sequence for Thread::Queue::Duplex might be:

	#
	#	Thread A (the client):
	#
		...marshal parameters for a coroutine...
		my $id = $q->enqueue('function_name', \@paramlist);
		my $results = $q->dequeue_response($id);
		...process $results...
	#
	#	Thread B (the server):
	#
		while (1) {
			my $call = $q->dequeue;
			my ($id, $func, @params) = @$call;
			$q->respond($id, $self->$func(@params));



( run in 0.347 second using v1.01-cache-2.11-cpan-3cd7ad12f66 )