예제 #1
0
 public InMemoryRoomSourceFactory(IMessageTrackerFactory messageTrackerFactory,
                                  IRoomBackplaneFactory backplaneFactory,
                                  ICollection <ChatRoom> initialRooms)
 {
     this.messageTrackerFactory = messageTrackerFactory;
     this.backplaneFactory      = backplaneFactory;
     this.initialRooms          = initialRooms;
 }
예제 #2
0
 public InMemoryRoomSource(IMessageTrackerFactory messageTrackerFactory,
                           IRoomBackplaneFactory roomBackplaneFactory,
                           ICollection <ChatRoom> initialRooms)
 {
     this.messageTrackerFactory = messageTrackerFactory;
     this.initialRooms          = initialRooms;
     this.roomBackplaneFactory  = roomBackplaneFactory;
     this.existingRooms         = new ConcurrentDictionary <string, IRoom>();
 }
 public RedisRoomSourceFactory(IDatabaseAsync database,
                               IMessageTrackerFactory messageTrackerFactory,
                               IRoomBackplaneFactory roomBackplaneFactory,
                               IOptions <ServerConfig.RoomsConfig> config)
 {
     this.database = database;
     this.messageTrackerFactory = messageTrackerFactory;
     this.roomBackplaneFactory  = roomBackplaneFactory;
     this.config = config.Value;
 }
예제 #4
0
 public RedisRoomSource(IDatabaseAsync database,
                        IMessageTrackerFactory messageTrackerFactory,
                        IRoomBackplaneFactory roomBackplaneFactory,
                        TimeSpan presenceThreshold,
                        int roomSize,
                        string roomsKey = "roomsList")
 {
     this.database = database;
     this.messageTrackerFactory = messageTrackerFactory;
     this.roomBackplaneFactory  = roomBackplaneFactory;
     this.presenceThreshold     = presenceThreshold;
     this.roomSize = roomSize;
     this.roomsKey = roomsKey;
     this.rooms    = new ConcurrentDictionary <string, IRoom>();
 }