in src/main/java/com/twitter/http2/HttpConnectionHandler.java [957:976]
private synchronized boolean acceptStream(
int streamId, boolean exclusive, int dependency, int weight) {
// 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 (httpConnection.numActiveStreams(remote) >= maxConcurrentStreams) {
return false;
}
httpConnection.acceptStream(
streamId, false, false, initialSendWindowSize, initialReceiveWindowSize, remote);
if (remote) {
lastStreamId = streamId;
}
setPriority(streamId, exclusive, dependency, weight);
return true;
}