123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- package mux
- import (
- "sync"
- )
- type connMap struct {
- connMap map[int32]*conn
-
- sync.RWMutex
- }
- func NewConnMap() *connMap {
- connMap := &connMap{
- connMap: make(map[int32]*conn),
-
- }
-
- return connMap
- }
- func (s *connMap) Size() (n int) {
- s.Lock()
- n = len(s.connMap)
- s.Unlock()
- return
- }
- func (s *connMap) Get(id int32) (*conn, bool) {
- s.Lock()
- v, ok := s.connMap[id]
- s.Unlock()
- if ok && v != nil {
- return v, true
- }
- return nil, false
- }
- func (s *connMap) Set(id int32, v *conn) {
- s.Lock()
- s.connMap[id] = v
- s.Unlock()
- }
- func (s *connMap) Close() {
-
- for _, v := range s.connMap {
- v.Close()
- }
- }
- func (s *connMap) Delete(id int32) {
- s.Lock()
- delete(s.connMap, id)
- s.Unlock()
- }
|