⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 base.pm

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 PM
字号:
package TAP::Base;use strict;use vars qw($VERSION);=head1 NAMETAP::Base - Base class that provides common functionality to L<TAP::Parser> and L<TAP::Harness>=head1 VERSIONVersion 3.07=cut$VERSION = '3.07';my $GOT_TIME_HIRES;BEGIN {    eval 'use Time::HiRes qw(time);';    $GOT_TIME_HIRES = $@ ? 0 : 1;}=head1 SYNOPSIS    package TAP::Whatever;    use TAP::Base;        use vars qw($VERSION @ISA);    @ISA = qw(TAP::Base);    # ... later ...        my $thing = TAP::Whatever->new();        $thing->callback( event => sub {        # do something interesting    } );=head1 DESCRIPTIONC<TAP::Base> provides callback management.=head1 METHODS=head2 Class Methods=head3 C<new>=cutsub new {    my ( $class, $arg_for ) = @_;    my $self = bless {}, $class;    return $self->_initialize($arg_for);}sub _initialize {    my ( $self, $arg_for, $ok_callback ) = @_;    my %ok_map = map { $_ => 1 } @$ok_callback;    $self->{ok_callbacks} = \%ok_map;    if ( my $cb = delete $arg_for->{callbacks} ) {        while ( my ( $event, $callback ) = each %$cb ) {            $self->callback( $event, $callback );        }    }    return $self;}=head3 C<callback>Install a callback for a named event.=cutsub callback {    my ( $self, $event, $callback ) = @_;    my %ok_map = %{ $self->{ok_callbacks} };    $self->_croak('No callbacks may be installed')      unless %ok_map;    $self->_croak( "Callback $event is not supported. Valid callbacks are "          . join( ', ', sort keys %ok_map ) )      unless exists $ok_map{$event};    push @{ $self->{code_for}{$event} }, $callback;    return;}sub _has_callbacks {    my $self = shift;    return keys %{ $self->{code_for} } != 0;}sub _callback_for {    my ( $self, $event ) = @_;    return $self->{code_for}{$event};}sub _make_callback {    my $self  = shift;    my $event = shift;    my $cb = $self->_callback_for($event);    return unless defined $cb;    return map { $_->(@_) } @$cb;}sub _croak {    my ( $self, $message ) = @_;    require Carp;    Carp::croak($message);    return;}=head3 C<get_time>Return the current time using Time::HiRes if available.=cutsub get_time { return time() }=head3 C<time_is_hires>Return true if the time returned by get_time is high resolution (i.e. if Time::HiRes is available).=cutsub time_is_hires { return $GOT_TIME_HIRES }1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -