func NewMsgServer(cfg *MsgServerConfig) *MsgServer { return &MsgServer{ cfg: cfg, sessions: make(base.SessionMap), channels: make(base.ChannelMap), topics: make(protocol.TopicMap), server: new(link.Server), sessionStore: storage.NewSessionStore(storage.NewRedisStore(&storage.RedisStoreOptions{ Network: "tcp", Address: cfg.Redis.Port, ConnectTimeout: time.Duration(cfg.Redis.ConnectTimeout) * time.Millisecond, ReadTimeout: time.Duration(cfg.Redis.ReadTimeout) * time.Millisecond, WriteTimeout: time.Duration(cfg.Redis.WriteTimeout) * time.Millisecond, Database: 1, KeyPrefix: "push", })), topicStore: storage.NewTopicStore(storage.NewRedisStore(&storage.RedisStoreOptions{ Network: "tcp", Address: cfg.Redis.Port, ConnectTimeout: time.Duration(cfg.Redis.ConnectTimeout) * time.Millisecond, ReadTimeout: time.Duration(cfg.Redis.ReadTimeout) * time.Millisecond, WriteTimeout: time.Duration(cfg.Redis.WriteTimeout) * time.Millisecond, Database: 1, KeyPrefix: "push", })), } }
func NewRouter(cfg *RouterConfig) *Router { return &Router{ cfg: cfg, msgServerClientMap: make(map[string]*link.Session), sessionStore: storage.NewSessionStore(storage.NewRedisStore(&storage.RedisStoreOptions{ Network: "tcp", Address: cfg.Redis.Port, ConnectTimeout: time.Duration(cfg.Redis.ConnectTimeout) * time.Millisecond, ReadTimeout: time.Duration(cfg.Redis.ReadTimeout) * time.Millisecond, WriteTimeout: time.Duration(cfg.Redis.WriteTimeout) * time.Millisecond, Database: 1, KeyPrefix: "push", })), topicServerMap: make(map[string]string), } }
func NewManager(cfg *ManagerConfig) *Manager { return &Manager{ cfg: cfg, sessionStore: storage.NewSessionStore(storage.NewRedisStore(&storage.RedisStoreOptions{ Network: "tcp", Address: cfg.Redis.Port, ConnectTimeout: time.Duration(cfg.Redis.ConnectTimeout) * time.Millisecond, ReadTimeout: time.Duration(cfg.Redis.ReadTimeout) * time.Millisecond, WriteTimeout: time.Duration(cfg.Redis.WriteTimeout) * time.Millisecond, Database: 1, KeyPrefix: "push", })), topicStore: storage.NewTopicStore(storage.NewRedisStore(&storage.RedisStoreOptions{ Network: "tcp", Address: cfg.Redis.Port, ConnectTimeout: time.Duration(cfg.Redis.ConnectTimeout) * time.Millisecond, ReadTimeout: time.Duration(cfg.Redis.ReadTimeout) * time.Millisecond, WriteTimeout: time.Duration(cfg.Redis.WriteTimeout) * time.Millisecond, Database: 1, KeyPrefix: "push", })), } }