/**
   * Retransmission intervals (RC = Retransmission Counter): immediately send CON message, set RC =
   * 0 wait 2 - 3 sec then send retransmission, set RC = 1 wait 4 - 6 sec then send retransmission,
   * set RC = 2 wait 8 - 12 sec then send retransmission, set RC = 3 wait 16 - 24 sec then send
   * retransmission, set RC = 4 wait 32 - 48 sec then fail transmission
   *
   * @throws Exception
   */
  @Override
  public void createTestScenario() throws Exception {

    //             client                        testEndpoint     DESCRIPTION
    //                  |                             |
    //              (1) |----CON-GET----------------->|           Client sends confirmable request
    //                  |                             |
    //              (2) |----1st RETRANSMISSION------>|           (Client should send four
    // retransmissions)
    //                  |                             |
    //              (3) |----2nd RETRANSMISSION------>|
    //                  |                             |
    //              (4) |----3rd RETRANSMISSION------>|
    //                  |                             |
    //              (5) |----4th RETRANSMISSION------>|
    //                  |                             |
    //                  |                             |           internal timeout notification to
    // response processor

    // Send coapRequest
    InetSocketAddress remoteEndpoint = new InetSocketAddress("127.0.0.1", testEndpoint.getPort());
    client.sendCoapRequest(coapRequest, responseProcessor, remoteEndpoint);

    timeRequestSent = System.currentTimeMillis();

    // Wait for the message ID to retire (takes 247 seconds).
    Thread.sleep(50000);
    log.warn(
        "Now we have to wait for the message ID to time out (~200 seconds)... Time to get a coffee!");
    Thread.sleep(200000);
  }
 @Override
 public void shutdownComponents() throws Exception {
   client.shutdown();
   testEndpoint.shutdown();
 }