@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;
  }
示例#3
0
  @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);
  }
示例#4
0
 public static void main(String args[]) {
   Requester client = new Requester();
   client.run();
 }
 protected Request newRequest(PacketType type) {
   return requester.newRequest(type).putString(handle);
 }