-
Notifications
You must be signed in to change notification settings - Fork 17
/
getters.go
135 lines (122 loc) · 2.79 KB
/
getters.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
package config
import (
"github.com/panjf2000/gnet/v2"
"github.com/rs/zerolog"
)
// GetVerificationPolicy returns the hook verification policy from plugin config file.
func (p PluginConfig) GetVerificationPolicy() VerificationPolicy {
switch p.VerificationPolicy {
case "ignore":
return Ignore
case "abort":
return Abort
case "remove":
return Remove
default:
return PassDown
}
}
// GetPluginCompatibilityPolicy returns the plugin compatibility policy from plugin config file.
func (p PluginConfig) GetPluginCompatibilityPolicy() CompatibilityPolicy {
switch p.CompatibilityPolicy {
case "strict":
return Strict
case "loose":
return Loose
default:
return Strict
}
}
// GetAcceptancePolicy returns the acceptance policy from plugin config file.
func (p PluginConfig) GetAcceptancePolicy() AcceptancePolicy {
switch p.AcceptancePolicy {
case "accept":
return Accept
case "reject":
return Reject
default:
return Accept
}
}
// GetLoadBalancer returns the load balancing algorithm to use.
func (s Server) GetLoadBalancer() gnet.LoadBalancing {
switch s.LoadBalancer {
case "roundrobin":
return gnet.RoundRobin
case "leastconnections":
return gnet.LeastConnections
case "sourceaddrhash":
return gnet.SourceAddrHash
default:
return gnet.RoundRobin
}
}
// GetTCPNoDelay returns the TCP no delay option from config file.
func (s Server) GetTCPNoDelay() gnet.TCPSocketOpt {
if s.TCPNoDelay {
return gnet.TCPNoDelay
}
return gnet.TCPDelay
}
// GetSize returns the pool size from config file.
func (p Pool) GetSize() int {
if p.Size == 0 {
return DefaultPoolSize
}
// Minimum pool size is 2.
if p.Size < MinimumPoolSize {
p.Size = MinimumPoolSize
}
return p.Size
}
// GetOutput returns the logger output from config file.
func (l Logger) GetOutput() LogOutput {
switch l.Output {
case "file":
return File
case "stdout":
return Stdout
case "stderr":
return Stderr
default:
return Console
}
}
// GetTimeFormat returns the logger time format from config file.
func (l Logger) GetTimeFormat() string {
switch l.TimeFormat {
case "unixms":
return zerolog.TimeFormatUnixMs
case "unixmicro":
return zerolog.TimeFormatUnixMicro
case "unixnano":
return zerolog.TimeFormatUnixNano
case "unix":
return zerolog.TimeFormatUnix
default:
return zerolog.TimeFormatUnix
}
}
// GetLevel returns the logger level from config file.
func (l Logger) GetLevel() zerolog.Level {
switch l.Level {
case "debug":
return zerolog.DebugLevel
case "info":
return zerolog.InfoLevel
case "warn":
return zerolog.WarnLevel
case "error":
return zerolog.ErrorLevel
case "fatal":
return zerolog.FatalLevel
case "panic":
return zerolog.PanicLevel
case "disabled":
return zerolog.Disabled
case "trace":
return zerolog.TraceLevel
default:
return zerolog.InfoLevel
}
}