6 ms·
What does Kitura use for threading and IO in Linux? Is there any library for cross platform asynchronus IO?
by c0ffe 10y ago
What does Kitura use for threading and IO in Linux?
Is there any library for cross platform asynchronus IO?
- paxcoder 10y agoGood 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.swift#L22 https://github.com/IBM-Swift/Kitura/blob/master/Package.swif... https://github.com/IBM-Swift/Kitura-net/blob/master/Package.swift#L27 https://github.com/IBM-Swift/Kitura-net/blob/master/Package.... https://github.com/IBM-Swift/BlueSocket/blob/master/Sources/Socket.swift#L1226 https://github.com/IBM-Swift/BlueSocket/blob/master/Sources/... [2] https://swift.org/blog/swift-linux-port/ https://swift.org/blog/swift-linux-port/ [3] https://github.com/apple/swift-corelibs-libdispatch https://github.com/apple/swift-corelibs-libdispatch