private boolean acceptStream ( int streamId , byte priority , boolean remoteSideClosed , boolean localSideClosed ) { // Cannot initiate any new streams after receiving or sending GOAWAY if ( receivedGoAwayFrame || sentGoAwayFrame ) { return false ; } boolean remote = isRemoteInitiatedId ( streamId ) ; int maxConcurrentStreams = remote ? localConcurrentStreams : remoteConcurrentStreams ; if ( spdySession . numActiveStreams ( remote ) >= maxConcurrentStreams ) { return false ; } spdySession . acceptStream ( streamId , priority , remoteSideClosed , localSideClosed , initialSendWindowSize , initialReceiveWindowSize , remote ) ; if ( remote ) { lastGoodStreamId = streamId ; } return true ; }
need to synchronize accesses to sentGoAwayFrame lastGoodStreamId and initial window sizes