func NewSubscriber() *Subscriber { s := &Subscriber{} s.mutex = &sync.Mutex{} s.message = skiplist.New() s.conn = map[*websocket.Conn]bool{} s.Expire = time.Now().UnixNano() + int64(Conf.ChannelExpireSec)*Second s.MaxMessage = Conf.MaxStoredMessage return s }
// New a inner message stored channel func NewInnerChannel() *InnerChannel { c := &InnerChannel{} c.mutex = &sync.Mutex{} c.message = skiplist.New() c.conn = map[net.Conn]bool{} c.token = map[string]bool{} c.MaxMessage = Conf.MaxStoredMessage c.expire = time.Now().UnixNano() + Conf.ChannelExpireSec*Second return c }