@ Override public void free ( long idleStartTime ) { if ( _is == null ) { IllegalStateException exn = new IllegalStateException ( L . l ( "{0} unexpected free of closed stream" , this ) ) ; exn . fillInStackTrace ( ) ; log . log ( Level . FINE , exn . toString ( ) , exn ) ; return ; } long requestStartTime = _requestStartTime ; _requestStartTime = 0 ; if ( requestStartTime > 0 ) _requestTimeProbe . end ( requestStartTime ) ; // #2369 - the load balancer might set its own view of the free // time if ( idleStartTime <= 0 ) { idleStartTime = _is . getReadTime ( ) ; if ( idleStartTime <= 0 ) { // for write-only, the read time is zero idleStartTime = CurrentTime . currentTime ( ) ; } } _idleStartTime = idleStartTime ; _idleProbe . start ( ) ; _isIdle = true ; _pool . free ( this ) ; }
Adds the stream to the free pool .