Go to the documentation of this file.
35 return "stalled_by_transport";
37 return "stalled_by_stream";
39 return "waiting_for_concurrency";
52 return t->lists[
id].head ==
nullptr;
63 t->lists[
id].head = new_head;
66 t->lists[
id].head =
nullptr;
67 t->lists[
id].tail =
nullptr;
69 s->included.clear(
id);
82 s->included.clear(
id);
83 if (s->links[
id].prev) {
84 s->links[
id].prev->links[
id].next = s->links[
id].next;
87 t->lists[
id].head = s->links[
id].next;
89 if (s->links[
id].next) {
90 s->links[
id].next->links[
id].prev = s->links[
id].prev;
92 t->lists[
id].tail = s->links[
id].prev;
103 if (s->included.is_set(
id)) {
116 old_tail = t->lists[
id].tail;
117 s->links[
id].next =
nullptr;
118 s->links[
id].prev = old_tail;
122 t->lists[
id].head = s;
124 t->lists[
id].tail = s;
134 if (s->included.is_set(
id)) {
bool grpc_chttp2_list_add_writable_stream(grpc_chttp2_transport *t, grpc_chttp2_stream *s)
bool grpc_chttp2_list_pop_writing_stream(grpc_chttp2_transport *t, grpc_chttp2_stream **s)
grpc_chttp2_stream_list_id
void grpc_chttp2_list_remove_waiting_for_concurrency(grpc_chttp2_transport *t, grpc_chttp2_stream *s)
@ GRPC_CHTTP2_LIST_STALLED_BY_TRANSPORT
static bool stream_list_add(grpc_chttp2_transport *t, grpc_chttp2_stream *s, grpc_chttp2_stream_list_id id)
static bool stream_list_pop(grpc_chttp2_transport *t, grpc_chttp2_stream **stream, grpc_chttp2_stream_list_id id)
#define GRPC_TRACE_FLAG_ENABLED(f)
bool grpc_chttp2_list_remove_writable_stream(grpc_chttp2_transport *t, grpc_chttp2_stream *s)
grpc_chttp2_stream * prev
static void stream_list_remove(grpc_chttp2_transport *t, grpc_chttp2_stream *s, grpc_chttp2_stream_list_id id)
bool grpc_chttp2_list_remove_stalled_by_stream(grpc_chttp2_transport *t, grpc_chttp2_stream *s)
grpc_chttp2_stream * next
bool grpc_chttp2_list_pop_stalled_by_transport(grpc_chttp2_transport *t, grpc_chttp2_stream **s)
GPRAPI void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...) GPR_PRINT_FORMAT_CHECK(4
bool grpc_chttp2_list_have_writing_streams(grpc_chttp2_transport *t)
grpc_core::TraceFlag grpc_trace_http2_stream_state(false, "http2_stream_state")
void grpc_chttp2_list_add_waiting_for_concurrency(grpc_chttp2_transport *t, grpc_chttp2_stream *s)
static bool stream_list_empty(grpc_chttp2_transport *t, grpc_chttp2_stream_list_id id)
grpc_chttp2_stream_link links[STREAM_LIST_COUNT]
static const char * stream_list_id_string(grpc_chttp2_stream_list_id id)
@ GRPC_CHTTP2_LIST_WRITING
void grpc_chttp2_list_add_stalled_by_stream(grpc_chttp2_transport *t, grpc_chttp2_stream *s)
bool grpc_chttp2_list_pop_writable_stream(grpc_chttp2_transport *t, grpc_chttp2_stream **s)
bool grpc_chttp2_list_add_writing_stream(grpc_chttp2_transport *t, grpc_chttp2_stream *s)
bool grpc_chttp2_list_pop_stalled_by_stream(grpc_chttp2_transport *t, grpc_chttp2_stream **s)
static void stream_list_add_tail(grpc_chttp2_transport *t, grpc_chttp2_stream *s, grpc_chttp2_stream_list_id id)
@ GRPC_CHTTP2_LIST_STALLED_BY_STREAM
bool grpc_chttp2_list_pop_waiting_for_concurrency(grpc_chttp2_transport *t, grpc_chttp2_stream **s)
static bool stream_list_maybe_remove(grpc_chttp2_transport *t, grpc_chttp2_stream *s, grpc_chttp2_stream_list_id id)
@ GRPC_CHTTP2_LIST_WAITING_FOR_CONCURRENCY
void grpc_chttp2_list_remove_stalled_by_transport(grpc_chttp2_transport *t, grpc_chttp2_stream *s)
void grpc_chttp2_list_add_stalled_by_transport(grpc_chttp2_transport *t, grpc_chttp2_stream *s)
@ GRPC_CHTTP2_LIST_WRITABLE
grpc
Author(s):
autogenerated on Fri May 16 2025 03:00:20