Daisuke Murase > Sub-Rate > Sub::Rate::NoMaxRate

Download:
Sub-Rate-0.05.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Source  

NAME ^

Sub::Rate::NoMaxRate - auto calculate max_rate

SYNOPSIS ^

    my $rate = Sub::Rate::NoMaxRate->new;
    $rate->add( 10 => sub { ... } );     # sub1
    $rate->add( 20 => sub { ... } );     # sub2
    
    my $func = $rate->generate;

    # Calling this $func then:
    # sub1 will be called by rate about 10/30
    # sub2 will be called by rate about 20/30
    $func->();

DESCRIPTION ^

Sub::Rate::NoMaxRate is a subclass of Sub::Rate.

This module has no max_rate option and calculate it automatically.

CLASS METHODS ^

new(%options)

    my $obj = Sub::Rate->new;

Create Sub::Rate object.

Available options are:

METHODS

add($rate : Number|Str, $sub :CodeRef)

    $obj->add( 10, sub { ... } );
    $obj->add( 20, sub { ... } );
    $obj->add( 'default', sub { ... } );

Add $sub to internal sublist rate by $rate.

If $rate is not number but "default", then $sub is registered as default sub. If default sub is already registered, it will be replaced.

generate()

    my $sub = $obj->generate;

Create a new sub that dispatch functions by its rates.

clear()

    $obj->clear;

Clear all registered functions and default function.

AUTHOR ^

Daisuke Murase <typester@cpan.org>

COPYRIGHT AND LICENSE ^

Copyright (c) 2012 KAYAC Inc. All rights reserved.

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

The full text of the license can be found in the LICENSE file included with this module.

syntax highlighting: