예제 #1
0
  @Test
  public void testExponentialBackoffSingle() throws Exception {
    InputChannel ch = createInputChannel(500, 500);

    assertEquals(0, ch.getCurrentBackoff());

    assertTrue(ch.increaseBackoff());
    assertEquals(500, ch.getCurrentBackoff());

    assertFalse(ch.increaseBackoff());
    assertEquals(500, ch.getCurrentBackoff());
  }
예제 #2
0
  @Test
  public void testExponentialBackoffCappedAtMax() throws Exception {
    InputChannel ch = createInputChannel(500, 3000);

    assertEquals(0, ch.getCurrentBackoff());

    assertTrue(ch.increaseBackoff());
    assertEquals(500, ch.getCurrentBackoff());

    assertTrue(ch.increaseBackoff());
    assertEquals(1000, ch.getCurrentBackoff());

    assertTrue(ch.increaseBackoff());
    assertEquals(2000, ch.getCurrentBackoff());

    assertTrue(ch.increaseBackoff());
    assertEquals(3000, ch.getCurrentBackoff());

    assertFalse(ch.increaseBackoff());
    assertEquals(3000, ch.getCurrentBackoff());
  }