GRPC Core 0.10.0.0

- Main Page
- Data Structures
- Files

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Functions
writing.c File Reference
`#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)

## Function Documentation

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