mirror of
https://github.com/cesanta/mongoose.git
synced 2025-01-10 23:28:42 +08:00
23122b327c
It would be probably good idea to also remove tools/docgen.py and asciidoc.mk, but asciidoc.mk is still mentioned under `cloud/doc`, which may contain some useful info which we'll need at least to review before removing. PUBLISHED_FROM=faf454d4c52a2f07ea8ac084cf0bd11a0c9c9b3b
16 lines
625 B
Markdown
16 lines
625 B
Markdown
---
|
|
title: Memory buffers
|
|
---
|
|
|
|
Each connection has send and receive buffer, `struct mg_connection::send_mbuf`
|
|
and `struct mg_connection::recv_mbuf` respectively. When data arrives,
|
|
Mongoose appends received data to the `recv_mbuf` and triggers `MG_EV_RECV`
|
|
event. User may send data back by calling one of the output functions, like
|
|
`mg_send()` or `mg_printf()`. Output functions append data to the `send_mbuf`.
|
|
When Mongoose successfully writes data to the socket, it discards data from
|
|
`struct mg_connection::send_mbuf` and sends `MG_EV_SEND` event. When connection
|
|
is closed, `MG_EV_CLOSE` event is sent.
|
|
|
|
![](mbuf.png)
|
|
|