question: public boolean isAlive ( ) { if ( hasSentData ) { if ( System . currentTimeMillis ( ) - lastSendTime < TIMEOUT ) return true ; return hasReceivedData && lastReceiveTime > lastSendTime ; } return true ; }
target:  Calculates whether this peer is alive: the peer is alive when the peer hasn't send data yet, or when data is received within the timeout after sending data.