From 09ccb6f7da257cfd6217c9254f90bf759187348e Mon Sep 17 00:00:00 2001 From: "Evgeny Grin (Karlson2k)" Date: Tue, 25 Jul 2017 12:49:25 +0300 Subject: [PATCH] chunked_example.c: added pseudo code to complete picture --- src/examples/chunked_example.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/examples/chunked_example.c b/src/examples/chunked_example.c index cec20910..3cd008df 100644 --- 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; }