public ApiGateway(IAccountServiceRpcClient accountService, IOrderServiceRpcClient orderService, IQuoteServiceRpcClient quoteService) { this.accountService = accountService; this.orderService = orderService; this.quoteService = quoteService; }
private static async Task DoSomething(IOrderServiceRpcClient client) { Random rnd = new Random(); List <String> tickers = new List <String> { "ERX", "SPY", "DIA", "QQQ", "UPRO", "SPXU", "OILU", "OILD" }; Display("Initializing service..."); try { await client.InitializeServiceAsync(new Empty()); } catch (Exception e) { Display("An error occurred: " + e.Message); } Display("Service initialized"); // Quote quote = await client.GetQuoteAsync(new StringMessage { Value = "ERX" }); // Display(quote.ToString()); int numThreads = 10; int numTrades = 100; ParallelOptions opt = new ParallelOptions() { MaxDegreeOfParallelism = numThreads }; Parallel.For(0, numTrades, opt, async i => { String ticker = tickers[rnd.Next(1, tickers.Count + 1) - 1]; Display("Submitting order..."); OrderResponse response = null; try { response = await client.SubmitOrderAsync(new OrderRequest { AccountId = "gRPC-BUY", Action = OrderAction.OrderBuy, Ticker = ticker, Type = OrderType.OrderMarket, Quantity = 10, OrderPrice = 0, TimeInForce = OrderTimeInForce.OrderDay }); } catch (Exception e) { Display("An error occurred: " + e.Message); } Display("Order submitted: " + response.ToString()); }); }
public Simulator( //IOrderTestPerfService service, IAccountServiceRpcClient accountClient, IOrderServiceRpcClient orderClient) { // this.service = service; this.accountClient = accountClient; this.orderClient = orderClient; var httpHandler = new HttpClientHandler(); httpHandler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator; var channel = GrpcChannel.ForAddress("https://hela:8090", new GrpcChannelOptions { HttpHandler = httpHandler }); this.apiClient = new ErxService.ErxServiceClient(channel); }
public QuoteServiceGrpc(IDatabase redis, IOrderServiceRpcClient orderService) { this.redis = redis; this.orderService = orderService; }