memory-buffers.md 625 Bytes
Newer Older
1 2 3 4
---
title: Memory buffers
---

5 6 7 8 9 10 11 12
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.
13

14
![](mbuf.png)
15