Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
..::lib::Smoke...matchers::base(3)  SmokePing ..::lib::Smoke...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 capital 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 over-
     written 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. Ad-
     dress them with $x[-1] to $x[-max].

     There's also a key called 'prevmatch' in the hash. It contains the value
     returned by the previous call of the 'Test' method. This allows for some-
     what 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 un-
     der 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 FIT-
     NESS 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.9.0				   2025-02-19 ..::lib::Smoke...matchers::base(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=Smokeping_matchers_base&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help