mirror of
https://github.com/cesanta/mongoose.git
synced 2024-12-16 10:29:22 +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
33 lines
1.5 KiB
Markdown
33 lines
1.5 KiB
Markdown
---
|
|
title: Connection flags
|
|
---
|
|
|
|
Each connection has a `flags` bit field. Some flags are set by Mongoose, for
|
|
example if a user creates an outbound UDP connection using `udp://1.2.3.4:5678`
|
|
address, Mongoose is going to set `MG_F_UDP` flag for that connection. Other
|
|
flags are meant to be set only by user event handler to tell Mongoose how to
|
|
behave. Below is a list of connection flags that are meant to be set by event
|
|
handlers:
|
|
|
|
* `MG_F_FINISHED_SENDING_DATA` tells Mongoose that all data has been appended
|
|
to the `send_mbuf`. As soon as Mongoose sends it to the socket, the
|
|
connection will be closed.
|
|
* `MG_F_BUFFER_BUT_DONT_SEND` tells Mongoose to append data to the `send_mbuf`
|
|
but hold on sending it, because the data will be modified later and then will
|
|
be sent by clearing `MG_F_BUFFER_BUT_DONT_SEND` flag.
|
|
* `MG_F_CLOSE_IMMEDIATELY` tells Mongoose to close the connection immediately,
|
|
usually after some error
|
|
* `MG_F_USER_1`, `MG_F_USER_2`, `MG_F_USER_3`, `MG_F_USER_4` could be used by a
|
|
developer to store application-specific state
|
|
|
|
Flags below are set by Mongoose:
|
|
|
|
* `MG_F_SSL_HANDSHAKE_DONE` SSL only, set when SSL handshake is done.
|
|
* `MG_F_CONNECTING` set when connection is in connecting state after
|
|
`mg_connect()` call but connect did not finish yet.
|
|
* `MG_F_LISTENING` set for all listening connections
|
|
* `MG_F_UDP` set if connection is UDP
|
|
* `MG_F_IS_WEBSOCKET` set if connection is a Websocket connection
|
|
* `MG_F_WEBSOCKET_NO_DEFRAG` should be set by a user if user wants to switch
|
|
off automatic Websocket frame defragmentation
|