| 1 package com.ubermq.kernel.overflow; 2 3 import com.ubermq.kernel.IOverflowHandler; 4 import com.ubermq.kernel.IDatagram; 5 import java.nio.*; 6 7 12 public class KeepTrying 13 extends AbstractOverflowHandler 14 { 15 private final int nRetries; 16 private final long delay; 17 18 public KeepTrying(int nRetries, 19 long delay) 20 { 21 super(); 22 this.nRetries = nRetries; 23 this.delay = delay; 24 } 25 26 protected int doOverflow() 27 { 28 if (nRetries > 0) 29 { 30 try 31 { 32 Thread.sleep(delay); 33 } 34 catch (InterruptedException e) {} 35 return IOverflowHandler.ACTION_RETRY; 36 } 37 else 38 { 39 return IOverflowHandler.ACTION_FAIL; 40 } 41 } 42 43 49 public IOverflowHandler getRetryHandler() 50 { 51 return new KeepTrying(nRetries - 1, 52 delay); 53 } 54 55 } 56 | Popular Tags |