top | item 13496322

(no title)

c0ffe | 9 years ago

What does Kitura use for threading and IO in Linux?

Is there any library for cross platform asynchronus IO?

discuss

order

paxcoder|9 years ago

Good question.

For networking, Kitura uses Kitura-net, which uses BlueSocket, which in turn uses C library's sockets[1]. On GNU/Linux, this is the GNU C Library, for which a package (Glibc) is provided by the Swift port[2].

For asynchrony they seem to be using libdispatch despite it being "early in the development"[3], but I've also noticed they're wrapping epoll and curl (see 1.B again), so it's hard to gauge the real extent of the hack.

[1]: https://github.com/IBM-Swift/Kitura/blob/master/Package.swif...

https://github.com/IBM-Swift/Kitura-net/blob/master/Package....

https://github.com/IBM-Swift/BlueSocket/blob/master/Sources/...

[2] https://swift.org/blog/swift-linux-port/

[3] https://github.com/apple/swift-corelibs-libdispatch