Exemple #1
0
 public MarketSummaryFileFacade(
     MarketSummaryRequestFormatter marketSummaryRequestFormatter,
     LookupMessageFileHandler lookupMessageFileHandler)
 {
     _lookupMessageFileHandler      = lookupMessageFileHandler;
     _marketSummaryRequestFormatter = marketSummaryRequestFormatter;
 }
Exemple #2
0
 public MarketSummaryFacade(
     MarketSummaryRequestFormatter marketSummaryRequestFormatter,
     LookupDispatcher lookupDispatcher,
     LookupRateLimiter lookupRateLimiter,
     ExceptionFactory exceptionFactory,
     TimeSpan timeout) : base(lookupDispatcher, lookupRateLimiter, exceptionFactory, timeout)
 {
     _marketSummaryRequestFormatter = marketSummaryRequestFormatter;
 }
        public static LookupClient CreateNew(
            string host,
            int port,
            int numberOfClients,
            TimeSpan timeout,
            int bufferSize,
            int requestsPerSecond)
        {
            // Common
            var requestFormatter         = new RequestFormatter();
            var lookupDispatcher         = new LookupDispatcher(host, port, bufferSize, IQFeedDefault.ProtocolVersion, numberOfClients, requestFormatter);
            var lookupRateLimiter        = new LookupRateLimiter(requestsPerSecond);
            var exceptionFactory         = new ExceptionFactory();
            var lookupMessageFileHandler = new LookupMessageFileHandler(lookupDispatcher, lookupRateLimiter, exceptionFactory, timeout);
            var historicalMessageHandler = new HistoricalMessageHandler();

            // Historical
            var historicalDataRequestFormatter = new HistoricalRequestFormatter();
            var historicalFileFacade           = new HistoricalFileFacade(historicalDataRequestFormatter, lookupMessageFileHandler);
            var historicalFacade = new HistoricalFacade(
                historicalDataRequestFormatter,
                lookupDispatcher,
                lookupRateLimiter,
                exceptionFactory,
                historicalMessageHandler,
                historicalFileFacade,
                timeout
                );

            // News
            var newsFacade = new NewsFacade(
                new NewsRequestFormatter(),
                lookupDispatcher,
                lookupRateLimiter,
                exceptionFactory,
                new NewsMessageHandler(),
                timeout);

            // Symbol
            var symbolFacade = new SymbolFacade(
                new SymbolRequestFormatter(),
                lookupDispatcher,
                lookupRateLimiter,
                exceptionFactory,
                new SymbolMessageHandler(),
                new MarketSymbolReader(),
                new ExpiredOptionReader(),
                new FileDownloader(new LocalCacheStrategy()),
                timeout);

            // Chains
            var chainsFacade = new ChainsFacade(
                new ChainsRequestFormatter(),
                new ChainsMessageHandler(),
                lookupDispatcher,
                lookupRateLimiter,
                exceptionFactory,
                timeout);

            // MarketSummary
            var marketSummaryRequestFormatter = new MarketSummaryRequestFormatter();
            var marketSummaryFileFacade       = new MarketSummaryFileFacade(marketSummaryRequestFormatter, lookupMessageFileHandler);
            var marketSummaryFacade           = new MarketSummaryFacade(marketSummaryRequestFormatter, lookupDispatcher, lookupRateLimiter, exceptionFactory, marketSummaryFileFacade, timeout);

            return(new LookupClient(lookupDispatcher, historicalFacade, newsFacade, symbolFacade, chainsFacade, marketSummaryFacade));
        }