Post by Santos DasHi Christian,
Thanks a lot. I have few questions in this regard -
a.  When we put the connection in suspend state, can we pass a timeout
at the expiry of which the connection will be automatically resumed?
No.
Post by Santos Dasb.  For asynchronous communication , i.e the application received the
request but is not able to send the response now (it needs to do some
work may be creating another request to another endpoint) , is it
mandatory to use suspend-resume only or there is some other mechanism
that we can use ?
If you use 'thread per connection', you could also simply block.
Post by Santos Dasc.  How does the keep alive works in the HTTP server library ?Â
_unless_ explicitly overridden by the application.
Post by Santos DasCould you please explain how the TCP's flow control mechanism is
helping in this case. A few lines would be great, please.
retransmission (sender) and reordering (receiver). So those buffers can
additional requests that the server is not yet processing.
Post by Santos DasSorry, lot of questions. But, please see if you could help in this.
If you suspend a connection, you are responsible to schedule some job to
resume it, after which MHD's timeout counter will start again (and of
course your response logic could then also just force MHD to close the
connection once MHD asks for response data). MHD timeouts are there to
detect (idle) clients that just keep connections open, not to prevent
the server from suspending a connection.
If the client closes a connection, it'll be detected if/when we try to
send data to the client and handled appropriately.
Happy hacking!
Christian
Post by Kunal Ekawdea. client closes the connection before response is sent.
b. server app doesn't respond at all post suspend.
Â
both cases there is no notification by MHD even if connection
timeout is
Post by Kunal Ekawdespecified and notify callback. How can these cases be handled ?
Thanks,
Kunal
   Hi,
   Just to add more, my application is single threaded and I am
running
Post by Kunal Ekawde   MHD inside that. I don't create additional threads. I use suspend
   and resume as suggested earlier as I do async processing.
   So, I am thinking how can we implement flow control in this
scenario..
Post by Kunal Ekawde   Thanks, Santos
   On Mon, Sep 17, 2018 at 8:22 PM Santos Das
     Hi,
     Could you kindly let me know how can we implement the flow
     control ? Protection against the badly behaving clients.
     HTTP/1.1 servers SHOULD maintain persistent connections
and use TCP's flow control
Post by Kunal Ekawde     mechanisms to resolve temporary overloads, rather than
terminating connections with
Post by Kunal Ekawde     the expectation that clients will retry. The latter
technique can exacerbate network
Post by Kunal Ekawde     congestion.
     Â
     https://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html
     Thanks, Santos
--
~Kunal