### Question:
SocketNetworkClient implements NetworkClient { @Override public void wakeup() { selector.wakeup(); } SocketNetworkClient(Selector selector, NetworkConfig networkConfig, NetworkMetrics networkMetrics,
      int maxConnectionsPerPortPlainText, int maxConnectionsPerPortSsl, int checkoutTimeoutMs, Time time); @Override List<ResponseInfo> sendAndPoll(List<RequestInfo> requestsToSend, Set<Integer> requestsToDrop,
      int pollTimeoutMs); @Override int warmUpConnections(List<DataNodeId> dataNodeIds, int connectionWarmUpPercentagePerDataNode,
      long timeForWarmUp, List<ResponseInfo> responseInfoList); @Override void close(); @Override void wakeup();  }### Answer:
@Test public void testWakeup() { Assert.assertFalse("Selector should not have been woken up at this point", selector.getAndClearWokenUpStatus()); networkClient.wakeup(); Assert.assertTrue("Selector should have been woken up at this point", selector.getAndClearWokenUpStatus()); }