@Override public void run() { while (!(monitorHidExecutorService.isShutdown() || monitorHidExecutorService.isTerminated())) { // Wait for 10 seconds for a response (this is so that the monitorExecutorService can shut down cleanly) Optional<MessageEvent> messageEvent = readMessage(10, TimeUnit.SECONDS); if (messageEvent.isPresent()) { if (MessageEventType.DEVICE_FAILED.equals(messageEvent.get().getEventType())) { // Stop reading messages on this thread for a short while to allow recovery time Uninterruptibles.sleepUninterruptibly(1, TimeUnit.SECONDS); } else { // Fire the event MessageEvents.fireMessageEvent(messageEvent.get()); } } } } });
@Override public void run() { while (!(monitorHidExecutorService.isShutdown() || monitorHidExecutorService.isTerminated())) { // Wait for 10 seconds for a response (this is so that the monitorExecutorService can shut down cleanly) Optional<MessageEvent> messageEvent = readMessage(10, TimeUnit.SECONDS); if (messageEvent.isPresent()) { if (MessageEventType.DEVICE_FAILED.equals(messageEvent.get().getEventType())) { // Stop reading messages on this thread for a short while to allow recovery time Uninterruptibles.sleepUninterruptibly(1, TimeUnit.SECONDS); } else { // Fire the event MessageEvents.fireMessageEvent(messageEvent.get()); } } } } });
@Override public void run() { while (true) { log.debug("Waiting for hardware wallet message..."); Optional<MessageEvent> messageEvent = hardwareWallet.readMessage(1, TimeUnit.MINUTES); if (messageEvent.isPresent()) { if (MessageEventType.DEVICE_FAILED.equals(messageEvent.get().getEventType())) { // Stop reading messages on this thread for a short while to allow recovery time Uninterruptibles.sleepUninterruptibly(1, TimeUnit.SECONDS); } else { // Send the Message back to the client log.debug("Sending raw message to client"); writeMessage(messageEvent.get().getRawMessage().get(), outputToClient); } } } }
@Override public void run() { while (true) { log.debug("Waiting for hardware wallet message..."); Optional<MessageEvent> messageEvent = hardwareWallet.readMessage(1, TimeUnit.MINUTES); if (messageEvent.isPresent()) { if (MessageEventType.DEVICE_FAILED.equals(messageEvent.get().getEventType())) { // Stop reading messages on this thread for a short while to allow recovery time Uninterruptibles.sleepUninterruptibly(1, TimeUnit.SECONDS); } else { // Send the Message back to the client log.debug("Sending raw message to client"); writeMessage(messageEvent.get().getRawMessage().get(), outputToClient); } } } }