Beta Shell
v2.0 ยท web2.us.cloudlogin.co
[FM]
[CMD]
[PHP]
[DB]
[INFO]
[SEC]
File Manager
~
/
usr
/
share
/
perl5
/
vendor_perl
/
Messaging
/
Message
Upload
5 items
Name
Size
Perms
Modified
Actions
[ .. / .. ]
Generator.pm
28.1 KB
-rw-r--r--
2021-10-13 11:50:29
Edit
Del
Queue
-
drwxr-xr-x
2022-02-23 11:31:15
Del
Queue.pm
2.21 KB
-rw-r--r--
2021-10-13 11:50:28
Edit
Del
Editing: Queue.pm
(2.21 KB)
Path: /usr/share/perl5/vendor_perl/Messaging/Message/Queue.pm
Back
#+############################################################################## # # # File: Messaging/Message/Queue.pm # # # # Description: abstraction of a message queue # # # #-############################################################################## # # module definition # package Messaging::Message::Queue; use strict; use warnings; our $VERSION = "1.7"; our $REVISION = sprintf("%d.%02d", q$Revision: 1.8 $ =~ /(\d+)\.(\d+)/); # # used modules # use Messaging::Message qw(_require); use Params::Validate qw(validate_with :types); # # constructor # sub new : method { my($class, %option, $mqc); $class = shift(@_); %option = validate_with( params => \@_, spec => { type => { type => SCALAR, regex => qr/^[a-zA-Z0-9]+$/ }, }, allow_extra => 1, ); $mqc = $class . "::" . $option{type}; _require($mqc); delete($option{type}); return($mqc->new(\%option)); } 1; __DATA__ =head1 NAME Messaging::Message::Queue - abstraction of a message queue =head1 SYNOPSIS use Messaging::Message::Queue; $mq = Messaging::Message::Queue->new(type => Foo, ... options ...); # is identical too $mq = Messaging::Message::Queue::Foo->new(... options ...); =head1 DESCRIPTION This module provides an abstraction of a message queue. Its only purpose is to offer a unified method to create a new queue. The functionality is implemented in child modules such as L<Messaging::Message::Queue::DQN>. The only available method is: =over =item new(OPTIONS) create a new message queue object; OPTIONS must contain the type of queue (which is the name of the child class), see above =back =head1 SEE ALSO L<Messaging::Message>, L<Messaging::Message::Queue::DQN>, L<Messaging::Message::Queue::DQS>, L<Messaging::Message::Queue::NULL>, L<Messaging::Message::Queue::ZERO>. =head1 AUTHOR Lionel Cons L<http://cern.ch/lionel.cons> Copyright (C) CERN 2011-2021