[swift-server-dev] Sockets API

Daniel A. Steffen dsteffen at apple.com
Tue Nov 1 12:15:02 CDT 2016


> On Nov 1, 2016, at 3:48, Helge Heß via swift-server-dev <swift-server-dev at swift.org> wrote:
> 
> Hi Daniel,
> 
> On 31 Oct 2016, at 02:55, Daniel A. Steffen <dsteffen at apple.com> wrote:
>> 2) dispatch_io: this is a asynchronous IO facility built on top of dispatch sources (and advisory reads for disk IO)
>> 
>> I can easily believe that 2) might be too high level/abstracted and missing functionality for a server networking framework esp. around encryption (that is not what it was designed for)
> 
> you are the second one mentioning issues with ‘encryption’. I think I may be missing something here :-) What is the issue with layering TLS on top of channels?
> 
> Is it an actual issue with TLS/encryption itself or is all that ‘just' because integration with OpenSSL is harder?

I was only mentioning it because it came up in this thread earlier

the main concern I have heard in the past was around impedance mismatch with encryption APIs, which tend to want to do their own buffering & chunking (and the most efficient way to use dispatch IO on sockets is to let it do as much buffering as is useful for the application layer).

One idea to address that at the dispatch IO layer would be "stacked channels”, i.e. an IO channel that has another one as input, but that is not something that has ever gone beyond the idea stage (but if somebody wants to take on adding that to the libdispatch implementation, I would certainly be supportive! ;-)

Daniel

> 
> Thanks,
>  hh
> 
> _______________________________________________
> swift-server-dev mailing list
> swift-server-dev at swift.org
> https://lists.swift.org/mailman/listinfo/swift-server-dev



More information about the swift-server-dev mailing list