FRED™  3.0
FRED™: Framework for Rapid and Easy Development
Polling Class Reference
Inheritance diagram for Polling:
Check Component Thing

Public Member Functions

 check ($expected=false)
 Perform the check. More...
 
 analyse ()
 Analyse the times files, and compile a list of pollers. More...
 
 unBan ($addr)
 Unban a client's IP address. More...
 
- Public Member Functions inherited from Check
 clientConfig ()
 Public configuration. More...
 
- Public Member Functions inherited from Component
 __construct ($fred, $config=null)
 
 __destruct ()
 
 config ($key, $default=null)
 Retrieve a config value. More...
 
 ping ()
 Ping function. More...
 
 filemtime ($filename)
 Filemtime with session cache. More...
 
 component ($name)
 Get a component (local or default). More...
 
 components (... $names)
 Get multiple components in an array. More...
 
- Public Member Functions inherited from Thing
 propertyExists ($property)
 Check if a property exists (public or published). More...
 
 constants ($prefix=null)
 Return all constants. More...
 
 get ($key)
 Get one or more properties. More...
 
 set ($key, $value=null)
 Set one or more properties. More...
 
 __get ($key)
 
 __set ($key, $value)
 

Data Fields

 $filters = []
 
 $ext = '.pol'
 Extension for times file. More...
 
 $checkTtl = 3600
 Re-use polling info for this amount of time (seconds). More...
 
 $timeDelta = 5
 Consider everything between this amount of seconds as a single request. More...
 
 $countThreshold = 100
 Minimum number of requests. More...
 
 $deviationPerc = 5
 Consider a deviation within this percentage of the average a poller. More...
 
 $logPrio = \Rsi\Fred\Log::WARNING
 Log prio for the warning message. More...
 
- Data Fields inherited from Check
 $delay = null
 Time (seconds) a ban stays in the registry (empty = use default). More...
 
- Data Fields inherited from Component
 $filemtimeTtl = 0
 
- Data Fields inherited from Thing
const HIDDEN = 0
 Property is hidden. More...
 
const READABLE = 1
 Property is readable. More...
 
const WRITEABLE = 2
 Property is writeable. More...
 
const READWRITE = 3
 Property is readable and writeable. More...
 

Protected Member Functions

 filename ($addr=null)
 
 addTime ($filter)
 
 isPoller ()
 
 analyseTimes ($addr, $times)
 
 getPath ()
 
 getPollerFilename ()
 
- Protected Member Functions inherited from Component
 init ()
 
 done ()
 
 getSession ()
 
- Protected Member Functions inherited from Thing
 publish ($property, $visibility=self::READABLE)
 Publish a property (or hide it again). More...
 
 alias ($alias, $property, $object=null)
 Define an alias for a property (of another object). More...
 
 configure ($config)
 Configure the object. More...
 
 _get ($key)
 Default getter if no specific setter is defined, and the property is also not published (readable). More...
 
 _set ($key, $value)
 Default setter if no specific setter is defined, and the property is also not published (writeable). More...
 

Protected Attributes

 $_path = null
 
 $_pollerFilename = null
 File with IP addresses of pollers (extension must differ from times files or other. More...
 
- Protected Attributes inherited from Component
 $_fred = null
 
 $_config = null
 
 $_name = null
 
 $_components = []
 Local components (key = component name, value = component). More...
 
 $_session = null
 
- Protected Attributes inherited from Thing
 $_published = []
 Published properties (key = name of property, value = visibility). More...
 
 $_aliases = []
 Alias properties (key = alias, value = [object,property]). More...
 

Detailed Description

Definition at line 5 of file Polling.php.

Member Function Documentation

◆ addTime()

addTime (   $filter)
protected

Definition at line 23 of file Polling.php.

◆ analyse()

analyse ( )

Analyse the times files, and compile a list of pollers.

Run this function periodically.

Definition at line 90 of file Polling.php.

◆ analyseTimes()

analyseTimes (   $addr,
  $times 
)
protected

Definition at line 59 of file Polling.php.

◆ check()

check (   $expected = false)

Perform the check.

Parameters
bool$expectedTrue if this is an expected call.
Returns
bool True if everything is fine. False if something is wrong. Null if something is wrong, but it is not significant enough to add a ban for it (e.g. repeated error).

Reimplemented from Check.

Definition at line 36 of file Polling.php.

◆ filename()

filename (   $addr = null)
protected

Definition at line 19 of file Polling.php.

◆ getPath()

getPath ( )
protected

Definition at line 105 of file Polling.php.

◆ getPollerFilename()

getPollerFilename ( )
protected

Definition at line 110 of file Polling.php.

◆ isPoller()

isPoller ( )
protected

Definition at line 32 of file Polling.php.

◆ unBan()

unBan (   $addr)

Unban a client's IP address.

Parameters
string$addr
Returns
bool True if the ban was successful deleted.

Reimplemented from Check.

Definition at line 101 of file Polling.php.

Field Documentation

◆ $_path

$_path = null
protected

Definition at line 15 of file Polling.php.

◆ $_pollerFilename

$_pollerFilename = null
protected

File with IP addresses of pollers (extension must differ from times files or other.

Definition at line 16 of file Polling.php.

◆ $checkTtl

$checkTtl = 3600

Re-use polling info for this amount of time (seconds).

Definition at line 9 of file Polling.php.

◆ $countThreshold

$countThreshold = 100

Minimum number of requests.

Definition at line 11 of file Polling.php.

◆ $deviationPerc

$deviationPerc = 5

Consider a deviation within this percentage of the average a poller.

Definition at line 12 of file Polling.php.

◆ $ext

$ext = '.pol'

Extension for times file.

Definition at line 8 of file Polling.php.

◆ $filters

$filters = []

Definition at line 7 of file Polling.php.

◆ $logPrio

$logPrio = \Rsi\Fred\Log::WARNING

Log prio for the warning message.

Definition at line 13 of file Polling.php.

◆ $timeDelta

$timeDelta = 5

Consider everything between this amount of seconds as a single request.

Definition at line 10 of file Polling.php.


The documentation for this class was generated from the following file: