GRPC Core  0.10.0.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Macros | Functions
stream_lists.c File Reference
#include "src/core/transport/chttp2/internal.h"
#include <grpc/support/log.h>

Macros

#define TRANSPORT_FROM_GLOBAL(tg)
 
#define STREAM_FROM_GLOBAL(sg)   ((grpc_chttp2_stream *)((char *)(sg)-offsetof(grpc_chttp2_stream, global)))
 
#define TRANSPORT_FROM_WRITING(tw)
 
#define STREAM_FROM_WRITING(sw)   ((grpc_chttp2_stream *)((char *)(sw)-offsetof(grpc_chttp2_stream, writing)))
 
#define TRANSPORT_FROM_PARSING(tp)
 
#define STREAM_FROM_PARSING(sp)   ((grpc_chttp2_stream *)((char *)(sp)-offsetof(grpc_chttp2_stream, parsing)))
 

Functions

void grpc_chttp2_list_add_writable_stream (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 Get a writable stream returns non-zero if there was a stream available. More...
 
void grpc_chttp2_list_add_first_writable_stream (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
int grpc_chttp2_list_pop_writable_stream (grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_writing **stream_writing)
 
void grpc_chttp2_list_remove_writable_stream (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
void grpc_chttp2_list_add_writing_stream (grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing *stream_writing)
 
int grpc_chttp2_list_have_writing_streams (grpc_chttp2_transport_writing *transport_writing)
 
int grpc_chttp2_list_pop_writing_stream (grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing **stream_writing)
 
void grpc_chttp2_list_add_written_stream (grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing *stream_writing)
 
int grpc_chttp2_list_pop_written_stream (grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_writing **stream_writing)
 
void grpc_chttp2_list_add_parsing_seen_stream (grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing)
 
int grpc_chttp2_list_pop_parsing_seen_stream (grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_parsing **stream_parsing)
 
void grpc_chttp2_list_add_waiting_for_concurrency (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
int grpc_chttp2_list_pop_waiting_for_concurrency (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global)
 
void grpc_chttp2_list_add_closed_waiting_for_parsing (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
int grpc_chttp2_list_pop_closed_waiting_for_parsing (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global)
 
void grpc_chttp2_list_add_cancelled_waiting_for_writing (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
int grpc_chttp2_list_pop_cancelled_waiting_for_writing (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global)
 
void grpc_chttp2_list_add_incoming_window_updated (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
int grpc_chttp2_list_pop_incoming_window_updated (grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_parsing **stream_parsing)
 
void grpc_chttp2_list_remove_incoming_window_updated (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
void grpc_chttp2_list_add_read_write_state_changed (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
int grpc_chttp2_list_pop_read_write_state_changed (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global)
 
void grpc_chttp2_register_stream (grpc_chttp2_transport *t, grpc_chttp2_stream *s)
 
int grpc_chttp2_unregister_stream (grpc_chttp2_transport *t, grpc_chttp2_stream *s)
 
int grpc_chttp2_has_streams (grpc_chttp2_transport *t)
 
void grpc_chttp2_for_all_streams (grpc_chttp2_transport_global *transport_global, void *user_data, void(*cb)(grpc_chttp2_transport_global *transport_global, void *user_data, grpc_chttp2_stream_global *stream_global))
 

Macro Definition Documentation

#define STREAM_FROM_GLOBAL (   sg)    ((grpc_chttp2_stream *)((char *)(sg)-offsetof(grpc_chttp2_stream, global)))
#define STREAM_FROM_PARSING (   sp)    ((grpc_chttp2_stream *)((char *)(sp)-offsetof(grpc_chttp2_stream, parsing)))
#define STREAM_FROM_WRITING (   sw)    ((grpc_chttp2_stream *)((char *)(sw)-offsetof(grpc_chttp2_stream, writing)))
#define TRANSPORT_FROM_GLOBAL (   tg)
Value:
((grpc_chttp2_transport *)((char *)(tg)-offsetof(grpc_chttp2_transport, \
global)))
Definition: internal.h:283
#define TRANSPORT_FROM_PARSING (   tp)
Value:
((grpc_chttp2_transport *)((char *)(tp)-offsetof(grpc_chttp2_transport, \
parsing)))
Definition: internal.h:283
#define TRANSPORT_FROM_WRITING (   tw)
Value:
((grpc_chttp2_transport *)((char *)(tw)-offsetof(grpc_chttp2_transport, \
writing)))
Definition: internal.h:283

Function Documentation

void grpc_chttp2_for_all_streams ( grpc_chttp2_transport_global transport_global,
void *  user_data,
void(*)(grpc_chttp2_transport_global *transport_global, void *user_data, grpc_chttp2_stream_global *stream_global)  cb 
)
int grpc_chttp2_has_streams ( grpc_chttp2_transport t)
void grpc_chttp2_list_add_cancelled_waiting_for_writing ( grpc_chttp2_transport_global transport_global,
grpc_chttp2_stream_global stream_global 
)
void grpc_chttp2_list_add_closed_waiting_for_parsing ( grpc_chttp2_transport_global transport_global,
grpc_chttp2_stream_global stream_global 
)
void grpc_chttp2_list_add_first_writable_stream ( grpc_chttp2_transport_global transport_global,
grpc_chttp2_stream_global stream_global 
)
void grpc_chttp2_list_add_incoming_window_updated ( grpc_chttp2_transport_global transport_global,
grpc_chttp2_stream_global stream_global 
)
void grpc_chttp2_list_add_parsing_seen_stream ( grpc_chttp2_transport_parsing transport_parsing,
grpc_chttp2_stream_parsing stream_parsing 
)
void grpc_chttp2_list_add_read_write_state_changed ( grpc_chttp2_transport_global transport_global,
grpc_chttp2_stream_global stream_global 
)
void grpc_chttp2_list_add_waiting_for_concurrency ( grpc_chttp2_transport_global transport_global,
grpc_chttp2_stream_global stream_global 
)
void grpc_chttp2_list_add_writable_stream ( grpc_chttp2_transport_global transport_global,
grpc_chttp2_stream_global stream_global 
)

Get a writable stream returns non-zero if there was a stream available.

void grpc_chttp2_list_add_writing_stream ( grpc_chttp2_transport_writing transport_writing,
grpc_chttp2_stream_writing stream_writing 
)
void grpc_chttp2_list_add_written_stream ( grpc_chttp2_transport_writing transport_writing,
grpc_chttp2_stream_writing stream_writing 
)
int grpc_chttp2_list_have_writing_streams ( grpc_chttp2_transport_writing transport_writing)
int grpc_chttp2_list_pop_cancelled_waiting_for_writing ( grpc_chttp2_transport_global transport_global,
grpc_chttp2_stream_global **  stream_global 
)
int grpc_chttp2_list_pop_closed_waiting_for_parsing ( grpc_chttp2_transport_global transport_global,
grpc_chttp2_stream_global **  stream_global 
)
int grpc_chttp2_list_pop_incoming_window_updated ( grpc_chttp2_transport_global transport_global,
grpc_chttp2_transport_parsing transport_parsing,
grpc_chttp2_stream_global **  stream_global,
grpc_chttp2_stream_parsing **  stream_parsing 
)
int grpc_chttp2_list_pop_parsing_seen_stream ( grpc_chttp2_transport_global transport_global,
grpc_chttp2_transport_parsing transport_parsing,
grpc_chttp2_stream_global **  stream_global,
grpc_chttp2_stream_parsing **  stream_parsing 
)
int grpc_chttp2_list_pop_read_write_state_changed ( grpc_chttp2_transport_global transport_global,
grpc_chttp2_stream_global **  stream_global 
)
int grpc_chttp2_list_pop_waiting_for_concurrency ( grpc_chttp2_transport_global transport_global,
grpc_chttp2_stream_global **  stream_global 
)
int grpc_chttp2_list_pop_writable_stream ( grpc_chttp2_transport_global transport_global,
grpc_chttp2_transport_writing transport_writing,
grpc_chttp2_stream_global **  stream_global,
grpc_chttp2_stream_writing **  stream_writing 
)
int grpc_chttp2_list_pop_writing_stream ( grpc_chttp2_transport_writing transport_writing,
grpc_chttp2_stream_writing **  stream_writing 
)
int grpc_chttp2_list_pop_written_stream ( grpc_chttp2_transport_global transport_global,
grpc_chttp2_transport_writing transport_writing,
grpc_chttp2_stream_global **  stream_global,
grpc_chttp2_stream_writing **  stream_writing 
)
void grpc_chttp2_list_remove_incoming_window_updated ( grpc_chttp2_transport_global transport_global,
grpc_chttp2_stream_global stream_global 
)
void grpc_chttp2_list_remove_writable_stream ( grpc_chttp2_transport_global transport_global,
grpc_chttp2_stream_global stream_global 
)
void grpc_chttp2_register_stream ( grpc_chttp2_transport t,
grpc_chttp2_stream s 
)
int grpc_chttp2_unregister_stream ( grpc_chttp2_transport t,
grpc_chttp2_stream s 
)