summaryrefslogtreecommitdiff
path: root/internal/regex
diff options
context:
space:
mode:
authorPaul Buetow <pbuetow@mimecast.com>2020-09-10 14:57:52 +0100
committerPaul Buetow <pbuetow@mimecast.com>2020-09-10 14:57:52 +0100
commit1c7c0dbb5174b5255912183b9ec5870ccdef3426 (patch)
tree50a5e492ac42221178320fb06a16c34e1b0a4bba /internal/regex
parent40cbef0c243042521bdf589b3c4549ff32508592 (diff)
printing client stats every other second only if the connection count has changed or when SIGUSR1 or SIGINFO recieved
Diffstat (limited to 'internal/regex')
-rw-r--r--internal/regex/flag.go42
1 files changed, 42 insertions, 0 deletions
diff --git a/internal/regex/flag.go b/internal/regex/flag.go
new file mode 100644
index 0000000..d3ff712
--- /dev/null
+++ b/internal/regex/flag.go
@@ -0,0 +1,42 @@
+package regex
+
+import "fmt"
+
+type Flag int
+
+const (
+ // Undefined flag set
+ Undefined Flag = iota
+ // Default is the default regex mode (positive matching)
+ Default Flag = iota
+ // Invert inverts the regex
+ Invert Flag = iota
+ // Noop means no regex matching enabled, all defaults to true
+ Noop Flag = iota
+)
+
+func NewFlag(str string) (Flag, error) {
+ switch str {
+ case "default":
+ return Default, nil
+ case "invert":
+ return Invert, nil
+ case "noop":
+ return Noop, nil
+ default:
+ return Undefined, fmt.Errorf("unknown regex flag '%s', setting to 'undefined'", str)
+ }
+}
+
+func (f Flag) String() string {
+ switch f {
+ case Default:
+ return "default"
+ case Invert:
+ return "invert"
+ case Noop:
+ return "noop"
+ default:
+ return "undefined"
+ }
+}