Hi, I meant making it non-static and using. This might be the modification we need to the upstream module, rather than introducing a 'handshake' handler formally. Was looking to see if there are any 'state machine' related catches in doing so. Thanks,Reetesh
> Date: Thu, 5 Dec 2013 02:38:35 +0400 > From: mdou...@mdounin.ru > To: nginx-devel@nginx.org > Subject: Re: How to implement handshake in an upstream module? > > Hello! > > On Thu, Dec 05, 2013 at 02:39:28AM +0530, Reetesh Ranjan wrote: > > > Before I send my main request and process the response through > > create_request and process_header (and filter) callbacks, I need > > to have a short handshake with the upstream servers. It consists > > of a send() and a recv() from the upstream module. How to > > implement this? > > Would the following sequence work?States: H = do-handshake > > (initial state), R = do-request1 In state H, send handshake > > req first through create_request()2 In process_header() in > > state == H 2.1 call 'create_request' again with state set > > to R, so main request gets created 2.2 call > > 'ngx_http_upstream_send_request' manually to restart the > > req-response cycle3 Because of 2.2 we get a process_header() > > call in state R > > Regards,Reetesh > > Obvious problem with the sequence: > ngx_http_upstream_send_request() is static functions, and can't be > called from a protocol module without modifications to > ngx_http_upstream.c. > > I don't think that handshake can be implemented without > modifications to upstream module. It's designed to implement > request/response logic and doesn't assume any handshakes. > > -- > Maxim Dounin > http://nginx.org/en/donation.html > > _______________________________________________ > nginx-devel mailing list > nginx-devel@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-devel
_______________________________________________ nginx-devel mailing list nginx-devel@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-devel