* For multi-threading systems is a interface for boost mutex provided.
* You can define the weighting of a success and a fail (timeout) event.
* It is also possible to define the threshold for the return of an error.
*
* The leaky bucket shall indicate repeated timeouts.
* A timeout is defined by the given duration and evaluated with the callback function pointer get_time.
* When calling setEvent() the timeout timer gets reseted and the amount of error points inside the leaky bucket is decreased by value success_emphasis (except amount is already zero or lower).
* Any time update() is called and a timeout occurred since the last call of setEvent() an amount of error points in the leaky bucket is increased by value error_emphasis (except amount is already equal or bigger then error_threshold).
* If the amount of "error points" is equal or bigger or then error_threshold, the return value of checkError() is true.