<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly">
    <title>gmane.network.spdy.spindly</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.network.spdy.spindly/59"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.network.spdy.spindly/58"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.network.spdy.spindly/57"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.network.spdy.spindly/56"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.network.spdy.spindly/55"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.network.spdy.spindly/54"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.network.spdy.spindly/53"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.network.spdy.spindly/52"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.network.spdy.spindly/51"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.network.spdy.spindly/50"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.network.spdy.spindly/49"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.network.spdy.spindly/48"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.network.spdy.spindly/47"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.network.spdy.spindly/46"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.network.spdy.spindly/45"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.network.spdy.spindly/44"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.network.spdy.spindly/43"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.network.spdy.spindly/42"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.network.spdy.spindly/41"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.network.spdy.spindly/40"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/59">
    <title>Re: problem in accessing spdy archives</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/59</link>
    <description>&lt;pre&gt;

There are two archives, linked to from this page: http://spindly.haxx.se/

&lt;/pre&gt;</description>
    <dc:creator>Daniel Stenberg</dc:creator>
    <dc:date>2013-03-05T23:55:16</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/58">
    <title>problem in accessing spdy archives</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/58</link>
    <description>&lt;pre&gt;Hi,
   I could not access the link of spdy

http://cool.haxx.se/pipermail/spdy-library/

it is giving 404 Not Found error. can you help me to access?


&lt;/pre&gt;</description>
    <dc:creator>ram mohan</dc:creator>
    <dc:date>2013-03-05T18:07:26</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/57">
    <title>Re: Get more clarity on spindly_stream_data</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/57</link>
    <description>&lt;pre&gt;

There's an API idea in the API docs and the header, and there's a bunch of 
SPDY functions already written for what's supported so far.

Other that so, I haven't planned further ahead...

&lt;/pre&gt;</description>
    <dc:creator>Daniel Stenberg</dc:creator>
    <dc:date>2012-12-19T15:06:08</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/56">
    <title>Re: Get more clarity on spindly_stream_data</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/56</link>
    <description>&lt;pre&gt;Sure ,

I can try to write one . Do you have any pointers like where to start from
and what all pieces of code need to be touched to achieve that .

Thanks
Amit

On Sat, Dec 15, 2012 at 11:21 AM, Daniel Stenberg &amp;lt;daniel-7AX/Qt632QQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt; wrote:

&lt;/pre&gt;</description>
    <dc:creator>amit shivnani</dc:creator>
    <dc:date>2012-12-17T00:32:14</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/55">
    <title>Re: Understand basic implementation of Spdy library -Spindly</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/55</link>
    <description>&lt;pre&gt;

That's what the spindly_stream_* functions are for, and for plain data you'd 
use spindly_stream_data().


Because recv() will receive SPDY protocol data into a buffer. You then want 
spindly to take care of the SPDY protocol for you and you do that by feeding 
the protocol buffer into spindly_phys_demux() (I don't think we call it 
*incoming anymore).


I would like a working example too, but I don't think we have all the pieces 
done properly yet.

I've tried to explain how each function works in the man pages, but they are 
not done either and there are some missing man pages.

Spindly is not a complete SPDY library (yet).

&lt;/pre&gt;</description>
    <dc:creator>Daniel Stenberg</dc:creator>
    <dc:date>2012-12-15T19:27:48</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/54">
    <title>Re: Get more clarity on spindly_stream_data</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/54</link>
    <description>&lt;pre&gt;

That's just one of the pieces that's still missing. Feel free to write a first 
implementation and send us the patch. We can certainly use a little help!

&lt;/pre&gt;</description>
    <dc:creator>Daniel Stenberg</dc:creator>
    <dc:date>2012-12-15T19:21:31</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/53">
    <title>Get more clarity on spindly_stream_data</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/53</link>
    <description>&lt;pre&gt;Hello,

I want to send user defined data across the stream . I believe after
initial request and acknowledgment I can start using this API to send data
on the stream :

/*
 * Send data on this stream.
 */
spindly_error_t spindly_stream_data(struct spindly_stream *stream,
                                    unsigned char *data,
                                    size_t len, void *handled);

But using this I am getting a linking error in my application since there
is no implementation of this API in the library . Please let me know if I
am missing something or is there an implementation somewhere else .

Also if that is not the correct way to send data across the stream then
please suggest the correct way .

Thanks
Amit
&lt;/pre&gt;</description>
    <dc:creator>amit shivnani</dc:creator>
    <dc:date>2012-12-15T17:35:42</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/52">
    <title>Understand basic implementation of Spdy library -Spindly</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/52</link>
    <description>&lt;pre&gt;Hello ,

I am having a hard time understanding the basic call flow between client
and server that should happen to transfer data across the channel using
this library .

Basically in demo example I see on the client side :

* get data to send over the socket */
  spint = spindly_phys_outgoing(phys_client, &amp;amp;data, &amp;amp;datalen);

  /* send away the SPDY packet */
  rc = send(sock, data, datalen, 0);

So in spindly_phys_outgoing() you are passing an address of data where some
value would be copied and that can be send across using send() function ,
but where is client initiating what it wants to send , for example if I
want to send a simple string of characters "SENDMEPLEASE" across to the
other end , how am I able to do that , I am only sending what is copied
over to data pointer?

Also, it would be good to understand what is happening on the server end :

 len = recv(clp-&amp;gt;sock, buffer, sizeof(buffer), 0);

    /* feed incoming data into spindly and request an immediate copy since
       we have the buffer on the &lt;/pre&gt;</description>
    <dc:creator>amit shivnani</dc:creator>
    <dc:date>2012-12-14T08:05:01</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/51">
    <title>Re: [PATCH] Spindly on top of Spdylay</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/51</link>
    <description>&lt;pre&gt;

Lovely! I'm a bit slow due to vacations right now, but I'll get on it really 
soon.

&lt;/pre&gt;</description>
    <dc:creator>Daniel Stenberg</dc:creator>
    <dc:date>2012-07-23T21:32:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/50">
    <title>[PATCH] Spindly on top of Spdylay</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/50</link>
    <description>&lt;pre&gt;Hi,

The attached patch uses spdylay as the underlying library.
Currently, as a client, it can send request and receive response
from server.  As a server, it can receive a request and send
response.

See tests/check_spindly_phys.c for client/server interactions.

Please note that spindly_outgoing() just after
spindly_stream_new() does not produce any data. The application
must call spindly_stream_headers() after spindly_stream_new() to
add request headers. It is possible to send SYN_STREAM without no
headers. But I heard that in several discussions SYN_STREAM
should include important headers, like :host, :path, :version,
etc. So I think it is recommended that SYN_STREAM has request
headers. With the same reason, spindly_stream_ack() should be
followed by spindly_stream_headers() to add response headers.

Best regards,

Tatsuhiro Tsujikawa
_______________________________________________
http://spindly.haxx.se/
http://cool.haxx.se/cgi-bin/mailman/listinfo/spdy-library
&lt;/pre&gt;</description>
    <dc:creator>Tatsuhiro Tsujikawa</dc:creator>
    <dc:date>2012-07-22T13:31:54</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/49">
    <title>Re: spindly vs spdylay</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/49</link>
    <description>&lt;pre&gt;
OK. I expect several API changes before initial public release.
It is not bad at all.


Well, I don't think it is perfect, but so far it works well for us.
I have created client, server and proxy using this API.
At least one other project (SPDY-for-iPhone) has used Spdylay API.


Thank, I'll use global approach at the first iteration.
But I'll keep current Spindly convention of malloc/free call just in case.
It sound controversial, but I think it is consistent with current code base.
I think Spindly codebase becomes not so big, especially it is rebased
with spdylay,
so replacing them in global variables is just matter of macro.


Agreed.

One question: to send name/value header block of SYN_STREAM and SYN_REPLY,
is spindly_stream_headers() used?
It seems because we have no name/value pairs argument in spindly_stream_new()
and spindly_stream_ack().

Oh, one more question, is it ok to call "consumed" function for headers in
spindly_stream_headers()? This is because in that function, header
block is copied
int&lt;/pre&gt;</description>
    <dc:creator>Tatsuhiro Tsujikawa</dc:creator>
    <dc:date>2012-07-18T16:54:05</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/48">
    <title>Re: spindly vs spdylay</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/48</link>
    <description>&lt;pre&gt;

Right. I wanted the Spindly API to avoid copies (as much as possible) and 
callbacks, but if we base it on spdylay and spdylay uses this API I think we 
need to start out like this.

But I'm not married to all the details in the current Spindly API. If things 
are stupid or non-optimal then we should change them. It's not like we have 
anyone using the API yet.

How do you view the spdylay API. Has it started to get settled or are you 
still modifying it?


Perhaps. It was done like that for libcurl because it wasn't introduced from 
the beginning and alas we couldn't do it "properly" while keeping the old API. 
I avoid globals as far as possible and so when creating a library from 
scratch, the way to do memory replacements without relying on globals pretty 
much has to be similar to this.

I don't feel very strongly about this. If you would prefer the static function 
pointers approach, I can indeed go with that too. It is after all simpler and 
faster to implement.


Oh, very good point. Let's remove sp&lt;/pre&gt;</description>
    <dc:creator>Daniel Stenberg</dc:creator>
    <dc:date>2012-07-15T17:55:51</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/47">
    <title>Re: spindly vs spdylay</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/47</link>
    <description>&lt;pre&gt;Hi,

On Sat, Jul 14, 2012 at 2:02 AM, Daniel Stenberg &amp;lt;daniel-7AX/Qt632QQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt; wrote:

OK, it is a good approach at the moment, though it requires extra memory copies
and allocations. But it is internal issue and as long as Spindly API is fixed,
it will be improved in the course of the development.
I'll take this approach.


I think I understand the importance and usefulness of custom memory allocator.
For Spindly case, I wonder it is just really needed to specify memory
allocator for
each phys instance. I check the libcurl code and it uses curl_global_init() to
set memory allocator in global. Isn't it suffice to Spindly?


OK, so it is for future extension.

BTW, I read API doc and see nack and close functions:

RESULT = spindly_stream_nack(STREAM);

  The STREAM as requested to get opened by the remote is NOT allowed!

RESULT = spindly_stream_close(STREAM);

  Close the STREAM. Can be used as a response to a SPINDLY_DX_STREAM_KILL
  message or it will generate such a message to the other side.&lt;/pre&gt;</description>
    <dc:creator>Tatsuhiro Tsujikawa</dc:creator>
    <dc:date>2012-07-14T08:27:57</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/46">
    <title>Re: spindly vs spdylay</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/46</link>
    <description>&lt;pre&gt;
Hi Tatsuhiro, nice to see you here!


Yes, I haven't really decided on how it would be done but I figure spindly can 
have some buffers or a queue internally so that when an application calls 
spindly_phys_demux(), which would call the necessary spdylay function and if 
it calls a callback, spindly would add that data in a queue that could be 
returned.


Yes, I don't know how you view that idea but something I've learned through my 
years of library authoring (libcurl, libssh2 and c-ares at least) is that 
sooner or later users want the ability to replace the memory functions and we 
can just as well face that at once and make the API work with it. In curl's 
case, we use it a lot during testing to make sure we never leak memory in any 
circumstance and when the dependency libs also can support this it makes the 
curl+library testing even better. And that in fact also benefits the libraries 
in the end since curl's testings have been known to improve all its dependency 
libraries as well from time to time.&lt;/pre&gt;</description>
    <dc:creator>Daniel Stenberg</dc:creator>
    <dc:date>2012-07-13T17:02:08</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/45">
    <title>Re: spindly vs spdylay</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/45</link>
    <description>&lt;pre&gt;Hi,

Daniel Stenberg &amp;lt;daniel&amp;lt; at &amp;gt;...&amp;gt; writes:

I'm interested in Spindly layer over spdylay.
I just looked at current Spindly API. Sending frames (messages) seems to be
somewhat easily implemented (providing special callback function),
but receiving messages are completely inveted in spdylay:
In spdylay, when received data is passed to spdylay_session_mem_recv(),
it scans it and calls callback function for each new messages. In Spindly,
spindly_phys_demux() returns for each new message.
We need to find a good way to cope with this.

Other big issue may be per-phys malloc callback, since we have to pass this
down to the every function where memory allocation occurs, but in spdylay
we don't delegate per-session object to those functions. Well, this is not the
technical issue, but it consumes time and handwriting.

One question: what does SPINDLY_CONFIG_AGE mean?

Best regards,

Tatsuhiro Tsujikawa

_______________________________________________
http://spindly.haxx.se/
http://cool.haxx.se/cgi-bin/mailman/listinfo/&lt;/pre&gt;</description>
    <dc:creator>Tatsuhiro Tsujikawa</dc:creator>
    <dc:date>2012-07-13T16:01:04</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/44">
    <title>some current work</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/44</link>
    <description>&lt;pre&gt;Hi friends,

I found some time and energy and pushed some minor updates the other day. I've 
started to make the "demo" applications server and client into actual 
spindly-using applications to allow them to talk SPDY to each other and 
thereby not only creating demos for how it can be done but also making sure 
the API and concepts work out.

I've also started on converting the API doc into proper man pages so that we 
get proper and full documentation for each function and how they are supposed 
to work. I hope to push the initial set in within a couple of days. (My 
attempts at using the API showed me I need documentation!)

&lt;/pre&gt;</description>
    <dc:creator>Daniel Stenberg</dc:creator>
    <dc:date>2012-07-10T09:34:44</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/43">
    <title>Re: Getting things done (was Re: spindly vs spdylay)</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/43</link>
    <description>&lt;pre&gt;

Cool, all what i'm suggesting is to have these ideas listed somewhere, a 10
minute thing :)
_______________________________________________
http://spindly.haxx.se/
http://cool.haxx.se/cgi-bin/mailman/listinfo/spdy-library
&lt;/pre&gt;</description>
    <dc:creator>Amr Shahin</dc:creator>
    <dc:date>2012-07-07T22:03:35</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/42">
    <title>Re: Getting things done (was Re: spindly vs spdylay)</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/42</link>
    <description>&lt;pre&gt;

There are _no_ users since Spindly isn't ready enough, so the situation is the 
same for everyone.

The tickets could be just what I already explained. I could even extend the 
list somewhat:

* Add test cases for all functions in the API doc

* Make sure all functions you add tests for actually work as documented in the 
API (iterate these two until all functions are implemented and tested)

* Write man pages for each function in the API. This is necessary to allow 
users to fully understand how each function operates.

* Identify functionality Spindly needs that isn't already covered in the API 
docs and discuss/suggest what to do about them. For example SSL/NPN stuff or 
other HTTP&amp;lt;=&amp;gt;SPDY helpers a user might want or need.

&lt;/pre&gt;</description>
    <dc:creator>Daniel Stenberg</dc:creator>
    <dc:date>2012-07-07T21:45:46</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/41">
    <title>Re: Getting things done (was Re: spindly vs spdylay)</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/41</link>
    <description>&lt;pre&gt;

Ok, here is what happens (at least from my end). I feel like doing some
contribution to spindly, but since i'm not actually a spidnly user i don't
actually know what am i supposed to do. Having a set of tickets would help
"external" contributers stepping the first foots.
Again, just a suggestion
_______________________________________________
http://spindly.haxx.se/
http://cool.haxx.se/cgi-bin/mailman/listinfo/spdy-library
&lt;/pre&gt;</description>
    <dc:creator>Amr Shahin</dc:creator>
    <dc:date>2012-07-07T21:38:45</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/40">
    <title>Getting things done (was Re: spindly vs spdylay)</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/40</link>
    <description>&lt;pre&gt;
(I changed subject to match the actual topic.)


I appreciate your good intensions here, but I'm sorry - I don't see what good 
that would lead to at this point. I'd say it would mostly be a waste of energy 
since from what I can tell basically nobody is spending time on the project 
atm so there's hardly any risk of people stepping on each other's toes.

Anyone who builds spindly, runs the tests and reads the API docs can see 
what's being tested currently and what needs to be added to the tests. While 
adding tests it is evident which functions that aren't implemented yet (or not 
fully done).

Or you can just throw out your ideas, plans and thoughts here on the list and 
ask what people think or whatever.

When you fix things, you commit them one by one and submit the patches here 
and we review and merge them. Like many open projects work...

&lt;/pre&gt;</description>
    <dc:creator>Daniel Stenberg</dc:creator>
    <dc:date>2012-07-07T21:33:23</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.network.spdy.spindly/39">
    <title>Re: spindly vs spdylay</title>
    <link>http://permalink.gmane.org/gmane.network.spdy.spindly/39</link>
    <description>&lt;pre&gt;

I know this is off-topic but how about we use some light weight project
management solution like asana to file tasks and stuff, this way we as well
as potential client-developers will know how much we progressed and what's
left.

If we agree to this i'm welling to take care of tickets and stuff.
_______________________________________________
http://spindly.haxx.se/
http://cool.haxx.se/cgi-bin/mailman/listinfo/spdy-library
&lt;/pre&gt;</description>
    <dc:creator>Amr Shahin</dc:creator>
    <dc:date>2012-07-07T21:07:17</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.network.spdy.spindly">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.network.spdy.spindly</link>
  </textinput>
</rdf:RDF>
