Hi 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?

b.    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 ?

c.   How does the keep alive works in the HTTP server library ?

Sorry, lot of questions. But, please see if you could help in this.

On Tue, Sep 18, 2018 at 3:12 PM Christian Grothoff <[email protected]>
wrote:

> 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
>
> On 09/17/2018 09:01 PM, Kunal Ekawde wrote:
> > If the connection is suspended and cases of:
> > a. 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
> > specified and notify callback. How can these cases be handled ?
> >
> > Thanks,
> > Kunal
> >
> > On Mon, Sep 17, 2018 at 9:02 PM Santos Das <[email protected]
> > <mailto:[email protected]>> wrote:
> >
> >     Hi,
> >
> >     Just to add more, my application is single threaded and I am running
> >     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..
> >
> >     Thanks, Santos
> >
> >
> >
> >     On Mon, Sep 17, 2018 at 8:22 PM Santos Das <[email protected]
> >     <mailto:[email protected]>> wrote:
> >
> >         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
> >
> >         mechanisms to resolve temporary overloads, rather than
> terminating connections with
> >
> >         the expectation that clients will retry. The latter technique
> can exacerbate network
> >
> >         congestion.
> >
> >
> >
> >         https://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html
> >
> >
> >         Thanks, Santos
> >
> >
> >
> >
> > --
> > ~Kunal
>

Reply via email to