Pipeline::Dispatch - dispatcher for pipeline segments
use Pipeline::Dispatch;
my $dispatcher = Pipeline::Dispatch->new();
$dispatcher->segments();
$dispatcher->add( Pipeline::Segment->new() );
$dispatcher->delete( 0 );
$dispatcher->segment_available && $dispatcher->next()
my $method = $dispatcher->dispatch_method();
"Pipeline::Dispatch" simply
accepts pipeline segments and does very little with them. It can dispatch
segments in order, one by one. It is also capable of altering the way in
which it dispatches to each segment, both on a pipeline basis, and on a
segment-by-segment basis.
- new()
- The new() constructor simply returns a new
dispatcher object.
- segments( [ARRAYREF]
)
- The segments() method returns the dispatchers list
of remaining segments as an array reference. Optionally the ARRAYREF
argument can be given to the segments() method,
which will set the list.
- add( LIST )
- The add() method adds one or more segments to the
dispatchers segment list.
- delete( INTEGER
)
- The delete() method removes the segment at index
INTEGER from the list of segments.
- segment_available()
- The segment_available() method returns true or
false, depending on whether or not there is a segment available to
dispatch to.
- next( [ Pipeline ]
)
- The next() method dispatches the next segment in
the segment list. It optionally takes a Pipeline object that is handed
down to the segment.
- dispatch_method(
[STRING] )
- The dispatch_method() method gets and sets the
method name to call globally on each segment for dispatch. Individual
segments can override this if they set dispatch_method themselves.
- dispatched_segments(
[ARRAYREF] )
- The dispatched_segments() method gets and sets the
list of segments that have already been dispatched. Used by the
reset() method, and probably should not be called
by the user..
- reset()
- <reset()> puts the dispatcher back into an undispatched state
- all the segments are available for dispatch again.
Pipeline::Segment Pipeline
James A. Duncan <jduncan@fotango.com>
Copyright 2003 Fotango Ltd. All Rights Reserved.
This software is released under the same terms as Perl itself.
http://opensource.fotango.com
Hey! The above document had some coding errors, which are
explained below:
- Around line 223:
- =cut found outside a pod block. Skipping to next block.