<tt><font size=2>&gt; Well, GCD is already an example which does not use
NSData but DispatchData. So if everything else is based on NSData, a GCD
client would need to map/copy the DispatchData into an NSData.</font></tt>
<br>
<br><font size=2 face="sans-serif">Which is something that Foundation itself
has to do for URLSession - I think its a pretty direct mapping, but there
would be wider benefits of solving that issue.<br>
</font>
<br>
<br>
<br>
<br><font size=1 color=#5f5f5f face="sans-serif">From: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">Helge Heß via swift-server-dev
&lt;swift-server-dev@swift.org&gt;</font>
<br><font size=1 color=#5f5f5f face="sans-serif">To: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">Swift Server Dev &lt;swift-server-dev@swift.org&gt;</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Date: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">03/11/2016 20:39</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Subject: &nbsp; &nbsp;
&nbsp; &nbsp;</font><font size=1 face="sans-serif">Re: [swift-server-dev]
Byte Bucket Protocol</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Sent by: &nbsp; &nbsp;
&nbsp; &nbsp;</font><font size=1 face="sans-serif">swift-server-dev-bounces@swift.org</font>
<br>
<hr noshade>
<br>
<br>
<br><tt><font size=2>On 3 Nov 2016, at 21:27, Chris Bailey &lt;BAILEYC@uk.ibm.com&gt;
wrote:<br>
&gt; &gt; BTW: Something I consider important to discuss across all areas
of interest (crypto, sockets, HTTP) is a protocol to represent a chunks
of bytes and chunks of chunks of bytes (buckets and brigades in Apache
terms). Of course that could be just NSData or DispatchData but I expect
that some frameworks have their own way to represent such buffers, hence
a protocol would be nice.<br>
&gt; &gt; Why important? Well, because there needs to be a way to pass
the data between those components w/o copying it :-) <br>
&gt; <br>
&gt; I think Data/NSData probably makes most sense here, because the data
is likely to be passed from the frameworks onto wider sets of packages,
which are likely to use NSData - so the overall consistency reduces the
overhead of copying and/or translating data types etc. <br>
&gt; <br>
&gt; That said, there's some performance work that I know needs doing in
Data/NSData, which means frameworks that use their own data types are (today)
faster in that area.<br>
<br>
Well, GCD is already an example which does not use NSData but DispatchData.
So if everything else is based on NSData, a GCD client would need to map/copy
the DispatchData into an NSData.<br>
<br>
Hence my suggestion to come up with a protocol for this which works for
both (and more). It likely wouldn’t be very complex. Get the number of
buckets in a brigade, the size, a pointer to the data.<br>
<br>
hh<br>
<br>
_______________________________________________<br>
swift-server-dev mailing list<br>
swift-server-dev@swift.org<br>
</font></tt><a href="https://lists.swift.org/mailman/listinfo/swift-server-dev"><tt><font size=2>https://lists.swift.org/mailman/listinfo/swift-server-dev</font></tt></a><tt><font size=2><br>
</font></tt>
<br>
<br>