libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

commit 09ccb6f7da257cfd6217c9254f90bf759187348e
parent 5d497ac69913da3efd489e9443b25ca76d57c2bb
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date:   Tue, 25 Jul 2017 12:49:25 +0300

chunked_example.c: added pseudo code to complete picture

Diffstat:
Msrc/examples/chunked_example.c | 20++++++++++++++++++++
1 file changed, 20 insertions(+), 0 deletions(-)

diff --git a/src/examples/chunked_example.c b/src/examples/chunked_example.c @@ -20,6 +20,7 @@ * @file chunked_example.c * @brief example for generating chunked encoding with libmicrohttpd * @author Christian Grothoff + * @author Karlson2k (Evgeny Grin) */ #include "platform.h" @@ -44,12 +45,31 @@ callback (void *cls, return MHD_CONTENT_READER_END_OF_STREAM; } + /* Pseudo code. * + if (data_not_ready) + { + // Callback will be called again on next loop. + // Consider suspending connection until data will be ready. + return 0; + } + * End of pseudo code. */ + if (buf_size < (response_size - pos) ) size_to_copy = buf_size; else size_to_copy = response_size - pos; memcpy (buf, response_data + pos, size_to_copy); + + /* Pseudo code. * + if (error_preparing_response) + { + // Close connection with error. + return MHD_CONTENT_READER_END_WITH_ERROR; + } + * End of pseudo code. */ + + /* Return amount of data copied to buffer. */ return size_to_copy; }