diff options
| author | 2015-09-24 01:32:11 +0000 | |
|---|---|---|
| committer | 2015-09-24 01:32:11 +0000 | |
| commit | 9b472795d26cd93d1bb58488ef60a062f5237295 (patch) | |
| tree | 8572778595d145176e720a1b7168c73adbd64ed4 /Net/IRC/EventQueue.pm | |
| parent | b93c3a24f14e0f64bc46b4945a65ae1bba62dc12 (diff) | |
Rework module paths
Diffstat (limited to 'Net/IRC/EventQueue.pm')
| -rw-r--r-- | Net/IRC/EventQueue.pm | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/Net/IRC/EventQueue.pm b/Net/IRC/EventQueue.pm deleted file mode 100644 index fdb7b44..0000000 --- a/Net/IRC/EventQueue.pm +++ /dev/null @@ -1,73 +0,0 @@ -package Net::IRC::EventQueue; - -use Net::IRC::EventQueue::Entry; - -use strict; - -sub new { - my $class = shift; - - my $self = { - 'queue' => {}, - }; - - bless $self, $class; -} - -sub queue { - my $self = shift; - return $self->{'queue'}; -} - -sub enqueue { - my $self = shift; - my $time = shift; - my $content = shift; - - my $entry = new Net::IRC::EventQueue::Entry($time, $content); - $self->queue->{$entry->id} = $entry; - return $entry->id; -} - -sub dequeue { - my $self = shift; - my $event = shift; - my $result; - - if(!$event) { # we got passed nothing, so return the first event - $event = $self->head(); - delete $self->queue->{$event->id}; - $result = $event; - } elsif(!ref($event)) { # we got passed an id - $result = $self->queue->{$event}; - delete $self->queue->{$event}; - } else { # we got passed an actual event object - ref($event) eq 'Net::IRC::EventQueue::Entry' - or die "Cannot delete event type of " . ref($event) . "!"; - - $result = $self->queue->{$event->id}; - delete $self->queue->{$event->id}; - } - - return $result; -} - -sub head { - my $self = shift; - - return undef if $self->is_empty; - - no warnings; # because we want to numerically sort strings... - my $headkey = (sort {$a <=> $b} (keys(%{$self->queue})))[0]; - use warnings; - - return $self->queue->{$headkey}; -} - -sub is_empty { - my $self = shift; - - return keys(%{$self->queue}) ? 0 : 1; -} - -1; |
