Lionel Cons > Directory-Queue-1.7 > Directory::Queue::Set

Download:
Directory-Queue-1.7.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Module Version: 1.7   Source   Latest Release: Directory-Queue-1.8

NAME ^

Directory::Queue::Set - object oriented interface to a set of Directory::Queue objects

SYNOPSIS ^

  use Directory::Queue;
  use Directory::Queue::Set;

  $dq1 = Directory::Queue->new(path => "/tmp/q1");
  $dq2 = Directory::Queue->new(path => "/tmp/q2");
  $dqset = Directory::Queue::Set->new($dq1, $dq2);

  ($dq, $elt) = $dqset->first();
  while ($dq) {
      # you can now process the element $elt of queue $dq...
      ($dq, $elt) = $dqset->next();
  }

DESCRIPTION ^

This module can be used to put different queues into a set and browse them as one queue. The elements from all queues are merged together and sorted independently from the queue they belong to.

This works both with Directory::Queue::Normal and Directory::Queue::Simple queues. Queues of different types can even be mixed.

METHODS ^

The following methods are available:

new([DIRQ...])

return a new Directory::Queue::Set object containing the given queue objects (class method)

add([DIRQ...])

add the given queue objects to the queue set; resetting the iterator

remove([DIRQ...])

remove the given queue objects from the queue set; resetting the iterator

first()

return the first (queue, element) couple in the queue set, resetting the iterator; return an empty list if the queue is empty

next()

return the next (queue, element) couple in the queue set; return an empty list if there is no next element

count()

return the total number of elements in all the queues of the set

SEE ALSO ^

Directory::Queue.

AUTHOR ^

Lionel Cons http://cern.ch/lionel.cons

Copyright CERN 2010-2012

syntax highlighting: