From 02115443e835860645b3ede988bf11e3218607a6 Mon Sep 17 00:00:00 2001 From: DanB Date: Sat, 29 Jul 2017 20:31:30 +0200 Subject: [PATCH] Adding initial threshold configuration --- engine/thresholds.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 engine/thresholds.go diff --git a/engine/thresholds.go b/engine/thresholds.go new file mode 100644 index 000000000..c5f56adc8 --- /dev/null +++ b/engine/thresholds.go @@ -0,0 +1,34 @@ +/* +Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments +Copyright (C) ITsysCOM GmbH + +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 3 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, see +*/ + +package engine + +type ThresholdCfg struct { + ID string + Filters []*RequestFilter // Filters for the request + ActivationInterval *utils.ActivationInterval // Time when this limit becomes active and expires + ThresholdType string + ThresholdValue float64 // threshold value + Recurrent bool + MinSleep time.Duration + MinItems int // number of items agregated for the threshold to match + Blocker bool // blocker flag to stop processing on filters matched + Stored bool + Weight float64 // Weight to sort the thresholds + ActionIDs []string +}