From e29298edd7fdc0498d6917f2452d1b6e0589dbc7 Mon Sep 17 00:00:00 2001 From: Matthew Dicks Date: Thu, 12 May 2022 13:47:10 +0200 Subject: [PATCH] Added a time out for the market data semaphore in the client --- ClientSimulator/src/main/java/client/Client.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ClientSimulator/src/main/java/client/Client.java b/ClientSimulator/src/main/java/client/Client.java index 2e355b4..234b521 100644 --- a/ClientSimulator/src/main/java/client/Client.java +++ b/ClientSimulator/src/main/java/client/Client.java @@ -153,7 +153,15 @@ public void close() { System.out.println("Logged out."); } - public void waitForMarketDataUpdate() { while(!mktDataUpdateSemaphore.acquire()){} } + public void waitForMarketDataUpdate() { + long startTime = System.currentTimeMillis(); + while(!mktDataUpdateSemaphore.acquire()){ + if(System.currentTimeMillis() - startTime > 100_000){ + System.out.println("Market Data Time out"); + break; + } + } + } public void submitOrder(String clientOrderId, long volume, long price, String side, String orderType, String timeInForce, long displayQuantity, long minQuantity, long stopPrice) { mktDataUpdateSemaphore.acquire();