NAME
Coro::Channel - message queues
SYNOPSIS
use Coro::Channel;
$q1 = new Coro::Channel <maxsize>;
$q1->put("xxx");
print $q1->get;
die unless $q1->size;
DESCRIPTION
- $q = new Coro:Channel $maxsize
-
Create a new channel with the given maximum size (unlimited if
maxsize
is omitted). Stating a size of zero gives you a traditional channel, i.e. a queue that can store only a single element. - $q->put($scalar)
-
Put the given scalar into the queue.
- $q->get
-
Return the next element from the queue, waiting if necessary.
- $q->size
-
Return the number of elements waiting to be consumed. Please note that:
if ($q->size) { my $data = $q->get; }
is NOT a race condition but works fine.
AUTHOR
Marc Lehmann <pcg@goof.com>
http://www.goof.com/pcg/marc/