public MatchmakingQueueListener(GameFormat format, AsyncConcurrentQueue <QueuedMatchRequestModel> inQueue,
                                 AsyncConcurrentQueue <QueuedMatchResponseModel> outQueue, IMatchmakingAlgorithm matchmakingAlgorithm, ILogger <MatchmakingQueueListener> logger)
 {
     _format               = format;
     _formatName           = Enum.GetName(typeof(GameFormat), _format);
     _inQueue              = inQueue;
     _outQueue             = outQueue;
     _matchmakingAlgorithm = matchmakingAlgorithm;
     _logger               = logger;
     _requestBuffer        = new ConcurrentDictionary <Guid, QueuedMatchRequestModel>();
 }
 public MatchmakingQueueListenerFactory(IQueueManager queueManager, IMatchmakingAlgorithm matchmakingAlgorithm, ILogger <MatchmakingQueueListener> logger)
 {
     _queueManager         = queueManager;
     _matchmakingAlgorithm = matchmakingAlgorithm;
     _logger = logger;
 }