Coverage Summary for Class: Pinger (it.polimi.ingsw.utils)

Class Class, % Method, % Line, %
Pinger 100% (1/ 1) 100% (4/ 4) 100% (13/ 13)


1 package it.polimi.ingsw.utils; 2  3 /** 4  * Pinger Class, used to notify a observer a ping every 10s 5  */ 6 public class Pinger extends Observable<String> implements Runnable { 7  /** 8  * Status of the pinger 9  */ 10  private boolean isActive = true; 11  12  /** 13  * Pinger Constructor 14  * 15  * @param c observer to ping 16  */ 17  public Pinger(Observer<String> c) { 18  this.addObservers(c); 19  } 20  21  /** 22  * Get Pinger Status 23  * 24  * @return pinger status 25  */ 26  public boolean getStatus() { 27  return isActive; 28  } 29  30  /** 31  * Run Pinger, ping the target observer each 10s 32  */ 33  @Override 34  public void run() { 35  try { 36  while (isActive) { 37  Thread.sleep(10000); 38  notify(""); 39  } 40  } catch (Exception e) { 41  // Fail sleep or notify 42  } isActive = false; 43  } 44  45  /** 46  * Stop the ping 47  */ 48  public void stop() { 49  isActive = false; 50  } 51 }