Esempio n. 1
0
func NewMsgServer(cfg *MsgServerConfig, rs *storage.RedisStore) *MsgServer {
	return &MsgServer{
		cfg:             cfg,
		sessions:        make(base.SessionMap),
		channels:        make(base.ChannelMap),
		topics:          make(protocol.TopicMap),
		server:          new(libnet.Server),
		sessionStore:    storage.NewSessionStore(rs),
		topicStore:      storage.NewTopicStore(rs),
		offlineMsgStore: storage.NewOfflineMsgStore(rs),
	}
}
Esempio n. 2
0
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:      base.COMM_PREFIX,
		})),
		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:      base.COMM_PREFIX,
		})),
	}
}