Smokeping::matchers::base(3)SmokePingSmokeping::matchers::base(3)



NAME
       Smokeping::matchers::base - Base Class for implementing
       SmokePing Matchers

OVERVIEW
       This is the base class for writing SmokePing matchers.
       Every matcher must inherit from the base class and provide
       it's own methods for the 'business' logic.

       Note that the actual matchers must have at least one capi-
       tal letter in their name, to differentiate them from the
       base class(es).

DESCRIPTION
       Every matcher must provide the following methods:

       new

       The new method expects hash elements as an argument eg
       new({x=>'\d+',y=>'\d+'},x=>1,y=>2). The first part is a
       syntax rule for the arguments it should expect and the
       second part are the arguments itself. The first part will
       be supplied by the child class as it calls the parent
       method.

       Length

       The Length method returns the number of values the matcher
       will expect from SmokePing. This method must be overridden
       by the children of the base class.

       Desc

       Simply return the description of the function. This method
       must be overwritten by a children of the base class.

       Test

       Run the matcher and return true or false. The Test method
       is called with a hash containing two arrays giving it
       access to both rtt and loss values.

         my $data=shift;
         my @rtt = @{$data->{rtt}};
         my @loss = @{$data->{loss}};

       The arrays are ordered from old to new.

         @rdd[old..new]

       There may be more than the expected number of elements in
       this array. Address them with $x[-1] to $x[-max].

       There's also a key called 'prevmatch' in the hash. It con-
       tains the value returned by the previous call of the
       'Test' method. This allows for somewhat more intelligent
       alerting due to state awareness.

         my $prevmatch = $data->{prevmatch};

COPYRIGHT
       Copyright (c) 2004 by OETIKER+PARTNER AG. All rights
       reserved.

LICENSE
       This program is free software; you can redistribute it
       and/or modify it under the terms of the GNU General Public
       License as published by the Free Software Foundation;
       either version 2 of the License, or (at your option) any
       later version.

       This program is distributed in the hope that it will be
       useful, but WITHOUT ANY WARRANTY; without even the implied
       warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
       PURPOSE.  See the GNU General Public License for more
       details.

       You should have received a copy of the GNU General Public
       License along with this program; if not, write to the Free
       Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
       02139, USA.

AUTHOR
       Tobias Oetiker <tobi@oetiker.ch>



2.0.9                       2006-07-1Smokeping::matchers::base(3)
