Changeset 605 in code for trunk/server.go
- Timestamp:
- Oct 5, 2021, 5:13:53 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/server.go
r601 r605 56 56 Identd *Identd // can be nil 57 57 58 db Database 59 stopWG sync.WaitGroup 58 db Database 59 stopWG sync.WaitGroup 60 connCount int64 // atomic 60 61 61 62 lock sync.Mutex … … 166 167 167 168 func (s *Server) handle(ic ircConn) { 169 atomic.AddInt64(&s.connCount, 1) 168 170 id := atomic.AddUint64(&lastDownstreamID, 1) 169 171 dc := newDownstreamConn(s, ic, id) … … 178 180 } 179 181 dc.Close() 182 atomic.AddInt64(&s.connCount, -1) 180 183 } 181 184 … … 250 253 return params 251 254 } 255 256 type ServerStats struct { 257 Users int 258 Downstreams int64 259 } 260 261 func (s *Server) Stats() *ServerStats { 262 var stats ServerStats 263 s.lock.Lock() 264 stats.Users = len(s.users) 265 s.lock.Unlock() 266 stats.Downstreams = atomic.LoadInt64(&s.connCount) 267 return &stats 268 }
Note:
See TracChangeset
for help on using the changeset viewer.