Toshio Ito > Async-Selector-1.03 > Async::Selector::Watcher

Download:
Async-Selector-1.03.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 1.03   Source  

NAME ^

Async::Selector::Watcher - representation of resource watch in Async::Selector

VERSION ^

1.03

SYNOPSIS ^

    use Async::Selector;
    
    my $s = Async::Selector->new();
    
    setup_resources_with($s);
    
    ## Obtain a watcher from Selector.
    my $watcher = $s->watch(a => 1, b => 2, sub {
        my ($w, %res) = @_;
        handle_a($res{a}) if exists $res{a};
        handle_b($res{b}) if exists $res{b};
    });
    
    ## Is the watcher active?
    $watcher->active;                          ## => true
    
    ## Get the list of watched resources
    my @resources = sort $watcher->resources;  ## => ('a', 'b')
    
    ## Get the watcher conditions
    my %conditions = $watcher->conditions;     ## => (a => 1, b => 2)
    
    ## Cancel the watcher
    $watcher->cancel;

DESCRIPTION ^

Async::Selector::Watcher is an object that stores information about a resource watch in Async::Selector module. It also provides its user with a way to cancel the watch.

CLASS METHODS ^

Nothing.

Async::Selector::Watcher objects are created by watch(), watch_lt() and watch_et() methods of Async::Selector.

OBJECT METHODS ^

In the following description, $watcher is an Async::Selector::Watcher object.

$is_active = $watcher->active();

Returns true if the Async::Selector::Watcher is active. Returns false otherwise.

Active watchers are the ones in Async::Selector objects, watching some of the Selector's resources. Callback functions of active watchers can be executed if the watched resources get available.

Inactive watchers are the ones that have been removed from Async::Selector objects. Their callback functions are never executed any more.

Note that watchers are automatically canceled and become inactive when their parent Async::Selector object is destroyed.

$watcher->cancel();

Cancels the watch.

The $watcher then becomes inactive and is removed from the Async::Selector object it used to belong to.

@resources = $watcher->resources();

Returns the list of resource names that are watched by this Async::Selector::Watcher object.

%conditions = $watcher->conditions();

Returns a hash whose keys are the resource names that are watched by this Async::Selector::Watcher object, and values are the condition inputs for the resources.

SEE ALSO ^

Async::Selector

AUTHOR ^

Toshio Ito, <toshioito at cpan.org>

LICENSE AND COPYRIGHT ^

Copyright 2012-2013 Toshio Ito.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.

syntax highlighting: