NAME

WWW::Crawler::Mojo::Queue - Crawler queue base class

SYNOPSIS

my $queue = WWW::Crawler::Mojo::Queue::Memory->new;
$queue->enqueue($job1);
$queue->enqueue($job2);
say $queue->length          # 2
$job3 = $queue->next();     # $job3 = $job1
$job4 = $queue->dequeue();  # $job4 = $job1
say $queue->length          # 1

DESCRIPTION

This class represents a FIFO queue.

METHODS

dequeue

Shifts the oldest job and returns it.

my $job = $queue->deuque;

enqueue

$queue->enqueue($job);

Pushes a job unless the job has been already pushed before.

next

Returns the job which will be dequeued next. It also accept an offset to get any future job.

$queue->next; # meaning $queue->next(0)
$queue->next(1);
$queue->next(2);

length

Returns queue length

say $queue->length

requeue

Pushes a job regardless of the job has been enqueued before or not.

$queue->requeue($job);

shuffle

Shuffles the queue array.

$queue->shuffle;

AUTHOR

Keita Sugama, <sugama@jamadam.com>

COPYRIGHT AND LICENSE

Copyright (C) Keita Sugama.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.