Directory::Queue::Set.3pm

Langue: en

Version: 2010-06-17 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

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.

METHODS

The following methods are available:
new([DIRQ...])
return a new Directory::Queue::Set object containing the given Directory::Queue objects (class method)
add([DIRQ...])
add the given Directory::Queue objects to the queue set; resetting the iterator
remove([DIRQ...])
remove the given Directory::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

AUTHOR

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

Copyright CERN 2010