GRPC Core
0.11.0.0
|
#include "src/core/transport/chttp2/internal.h"
#include "src/core/transport/chttp2/http2_errors.h"
#include <grpc/support/log.h>
Functions | |
int | grpc_chttp2_unlocking_check_writes (grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing) |
Transport writing call flow: chttp2_transport.c calls grpc_chttp2_unlocking_check_writes to see if writes are required; if they are, chttp2_transport.c calls grpc_chttp2_perform_writes to do the writes. More... | |
void | grpc_chttp2_perform_writes (grpc_chttp2_transport_writing *transport_writing, grpc_endpoint *endpoint) |
void | grpc_chttp2_cleanup_writing (grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing) |
void grpc_chttp2_cleanup_writing | ( | grpc_chttp2_transport_global * | transport_global, |
grpc_chttp2_transport_writing * | transport_writing | ||
) |
void grpc_chttp2_perform_writes | ( | grpc_chttp2_transport_writing * | transport_writing, |
grpc_endpoint * | endpoint | ||
) |
int grpc_chttp2_unlocking_check_writes | ( | grpc_chttp2_transport_global * | global, |
grpc_chttp2_transport_writing * | writing | ||
) |
Transport writing call flow: chttp2_transport.c calls grpc_chttp2_unlocking_check_writes to see if writes are required; if they are, chttp2_transport.c calls grpc_chttp2_perform_writes to do the writes.
Once writes have been completed (meaning another write could potentially be started), grpc_chttp2_terminate_writing is called. This will call grpc_chttp2_cleanup_writing, at which point the write phase is complete. Someone is unlocking the transport mutex: check to see if writes are required, and schedule them if so