Channel::Pauseable - A Channel which can be paused and more
use Channel::Pauseable;
my $channel = Channel::Pauseable.new;
$channel.send: ...;
$channel.pause;
$channel.resume;
say $channel.recieve;
Channel::Pauseable is a Channel which can be paused and resumed.
It also offers the ability to automatically collect from Supplys or Tappables. And can be tapped much like a Supply.
There are various usage examples in the "examples" directory.
See Channel for methods inherited from there.
$source is optional and can be either a Supply or a Tappable. Automatically taps the $source and feeds it into the channel.
$paused is a Boolean and defaults to False. It determines the initial state of the Channel.
Pause output of the Channel. This method will throw an exception if Channel is already paused.
Resume output of the Channel. This method will throw an exception if Channel isn't paused.
True if Channel is paused.
This is the same as per a normal Channel but will always return Nil whilst the channel is paused.
These methods tap the given $source and feeds it into the channel.
This taps the channel as if it was a (live) Supply. See Supply/tap for details.
Returns a live Supply that is supplied by this channel.
Timothy Hinchcliffe gitprojects.qm@spidererrol.co.uk
Copyright 2019 Timothy Hinchcliffe
This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.