Thread (34 messages) flat view 34 messages, 4 authors, 2016-06-16

Re: [WIP PATCH 00/14] Protocol v2 patches

From: David Turner <hidden>
Date: 2016-06-16 02:19:36

On Wed, 2016-05-25 at 06:03 +0700, Duy Nguyen wrote:
On Wed, May 25, 2016 at 5:46 AM, David Turner <
dturner@twopensource.com> wrote:
quoted
I was looking at this again today, and noticed that it doesn't
really
address the HTTP case.

The central problem is that protocol v2 goes like this:
server: I have capabilities w,x,y, and z
client: I want capabilities x and z.

But HTTP goes like this:
client: [request]
server: [response]

I tried to make libcurl do the receive-before-sending thing, but it
doesn't seem to be designed for it (even if you prime things by
sending
a "hello" from the client first).  My thought was to hook up
CURLOPT_READFUNCTION and CURLOPT_WRITEFUNCTION, and have the read
function return CURL_READFUNC_PAUSE and then have the write
(=client
receiving data ) function unpause the reader (= client sending
data)
once it gets the capabilities.  But apparently pausing only works
with
chunked encoding, which seems to cause Apache's mod_cgi to fail.

Maybe I'm missing something.  Has anyone else ever made something
like
this work?
It simply takes one more round-trip to negotiate. Not the best thing,
but...
Do you mean that it can be done with libcurl?  Or do you mean that I
should go with the /capabilities endpoint?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help