int nghttp2_stream_dep_add_subtree(nghttp2_stream *dep_stream, nghttp2_stream *stream, nghttp2_session *session) { nghttp2_stream *root_stream; DEBUGF(fprintf(stderr, "stream: dep_add_subtree dep_stream(%p)=%d " "stream(%p)=%d\n", dep_stream, dep_stream->stream_id, stream, stream->stream_id)); stream_update_dep_set_rest(stream); if (dep_stream->dep_next) { dep_stream->sum_dep_weight += stream->weight; insert_link_dep(dep_stream, stream); } else { link_dep(dep_stream, stream); assert(dep_stream->sum_dep_weight == 0); dep_stream->sum_dep_weight = stream->weight; } root_stream = stream_update_dep_length(dep_stream, stream->num_substreams); stream_update_dep_set_top(root_stream); stream_update_dep_sum_norest_weight(root_stream); stream_update_dep_effective_weight(root_stream); return stream_update_dep_queue_top(root_stream, session); }
int nghttp2_stream_dep_add_subtree(nghttp2_stream *dep_stream, nghttp2_stream *stream) { int rv; DEBUGF(fprintf(stderr, "stream: dep_add_subtree dep_stream(%p)=%d " "stream(%p)=%d\n", dep_stream, dep_stream->stream_id, stream, stream->stream_id)); dep_stream->sum_dep_weight += stream->weight; if (dep_stream->dep_next) { insert_link_dep(dep_stream, stream); } else { link_dep(dep_stream, stream); } if (stream_subtree_active(stream)) { rv = stream_obq_push(dep_stream, stream); if (rv != 0) { return rv; } } validate_tree(dep_stream); return 0; }
void nghttp2_stream_dep_add(nghttp2_stream *dep_stream, nghttp2_stream *stream) { DEBUGF(fprintf(stderr, "stream: dep_add dep_stream(%p)=%d, stream(%p)=%d\n", dep_stream, dep_stream->stream_id, stream, stream->stream_id)); dep_stream->sum_dep_weight += stream->weight; if (dep_stream->dep_next == NULL) { link_dep(dep_stream, stream); } else { insert_link_dep(dep_stream, stream); } validate_tree(stream); }
void nghttp2_stream_dep_add(nghttp2_stream *dep_stream, nghttp2_stream *stream) { nghttp2_stream *root_stream; assert(stream->data_item == NULL); DEBUGF(fprintf(stderr, "stream: dep_add dep_stream(%p)=%d, stream(%p)=%d\n", dep_stream, dep_stream->stream_id, stream, stream->stream_id)); root_stream = stream_update_dep_length(dep_stream, 1); dep_stream->sum_dep_weight += stream->weight; if (dep_stream->dep_next == NULL) { link_dep(dep_stream, stream); } else { insert_link_dep(dep_stream, stream); } stream_update_dep_sum_norest_weight(root_stream); stream_update_dep_effective_weight(root_stream); ++stream->roots->num_streams; }