@Override public void close() throws IOException { log.debug("Closing `{}`", this); requester .request(newRequest(PacketType.CLOSE)) .retrieve(requester.getTimeoutMs(), TimeUnit.MILLISECONDS) .ensureStatusPacketIsOK(); }
public SampleRequester getSampleRequesterByType(Requester type, boolean createIfNotFound) { if (requesters == null) { buildRequesters(); } for (SampleRequester requester : requesters) { if (requester.getRequesterTypeId() == type.getId()) { return requester; } } // reachable only if existing requester not found if (createIfNotFound) { SampleRequester newRequester = new SampleRequester(); newRequester.setRequesterTypeId(type.getId()); newRequester.setSampleId(Long.parseLong(sampleId)); return newRequester; } return null; }
@Test public void test() throws Exception { reqThread = new Requester("requester"); // start requester, which waits for the responder to JOIN reqThread.init(); reqThread.start(); // start responders for (int i = 0; i < NUM_RESP; i++) { Responder resp = new Responder("responder" + i); resp.init(); resp.start(); respThreads.add(resp); } // wait for responders to finish for (Responder resp : respThreads) { resp.join(); } // wait for requester to finish reqThread.join(); reqThread.destroy(); // destroy all responders once requester is done for (Responder resp : respThreads) { resp.destroy(); } // leave some time for resources to be freed Thread.sleep(200); log.info("received: " + totResponses + " expected: " + expected); assertTrue(totResponses == expected); }
public static void main(String args[]) { Requester client = new Requester(); client.run(); }
protected Request newRequest(PacketType type) { return requester.newRequest(type).putString(handle); }