|
@@ -67,15 +67,15 @@ type Server struct {
|
67
|
67
|
clients ClientManager
|
68
|
68
|
config unsafe.Pointer
|
69
|
69
|
configFilename string
|
70
|
|
- connectionLimiter *connection_limits.Limiter
|
71
|
|
- connectionThrottler *connection_limits.Throttler
|
|
70
|
+ connectionLimiter connection_limits.Limiter
|
|
71
|
+ connectionThrottler connection_limits.Throttler
|
72
|
72
|
ctime time.Time
|
73
|
73
|
dlines *DLineManager
|
74
|
74
|
helpIndexManager HelpIndexManager
|
75
|
75
|
klines *KLineManager
|
76
|
76
|
listeners map[string]*ListenerWrapper
|
77
|
77
|
logger *logger.Manager
|
78
|
|
- monitorManager *MonitorManager
|
|
78
|
+ monitorManager MonitorManager
|
79
|
79
|
name string
|
80
|
80
|
nameCasefolded string
|
81
|
81
|
rehashMutex sync.Mutex // tier 4
|
|
@@ -83,7 +83,7 @@ type Server struct {
|
83
|
83
|
pprofServer *http.Server
|
84
|
84
|
resumeManager ResumeManager
|
85
|
85
|
signals chan os.Signal
|
86
|
|
- snomasks *SnoManager
|
|
86
|
+ snomasks SnoManager
|
87
|
87
|
store *buntdb.DB
|
88
|
88
|
torLimiter connection_limits.TorLimiter
|
89
|
89
|
whoWas WhoWasList
|
|
@@ -110,21 +110,19 @@ type clientConn struct {
|
110
|
110
|
func NewServer(config *Config, logger *logger.Manager) (*Server, error) {
|
111
|
111
|
// initialize data structures
|
112
|
112
|
server := &Server{
|
113
|
|
- ctime: time.Now().UTC(),
|
114
|
|
- connectionLimiter: connection_limits.NewLimiter(),
|
115
|
|
- connectionThrottler: connection_limits.NewThrottler(),
|
116
|
|
- listeners: make(map[string]*ListenerWrapper),
|
117
|
|
- logger: logger,
|
118
|
|
- monitorManager: NewMonitorManager(),
|
119
|
|
- rehashSignal: make(chan os.Signal, 1),
|
120
|
|
- signals: make(chan os.Signal, len(ServerExitSignals)),
|
121
|
|
- snomasks: NewSnoManager(),
|
|
113
|
+ ctime: time.Now().UTC(),
|
|
114
|
+ listeners: make(map[string]*ListenerWrapper),
|
|
115
|
+ logger: logger,
|
|
116
|
+ rehashSignal: make(chan os.Signal, 1),
|
|
117
|
+ signals: make(chan os.Signal, len(ServerExitSignals)),
|
122
|
118
|
}
|
123
|
119
|
|
124
|
120
|
server.clients.Initialize()
|
125
|
121
|
server.semaphores.Initialize()
|
126
|
122
|
server.resumeManager.Initialize(server)
|
127
|
123
|
server.whoWas.Initialize(config.Limits.WhowasEntries)
|
|
124
|
+ server.monitorManager.Initialize()
|
|
125
|
+ server.snomasks.Initialize()
|
128
|
126
|
|
129
|
127
|
if err := server.applyConfig(config, true); err != nil {
|
130
|
128
|
return nil, err
|