Johannes Weiss

Results 188 issues of Johannes Weiss

As of 1 May 2022, NIO 1.x will _not_ receive security updates anymore should there be a vulnerability. More than 3 years after its de-facto deprecation with the release of...

Recently, two projects ([PureSwift/Socket](https://github.com/PureSwift/Socket) and [swhitty/FlyingFox](https://github.com/swhitty/FlyingFox)) have caught my attention that both run BSD sockets code inside Swift Concurrency's threads. Which until [Custom Executors](https://forums.swift.org/t/support-custom-executors-in-swift-concurrency/44425) arrive isn't really possible to do...

`http_parser` [is unmaintained](https://github.com/nodejs/http-parser/issues/522) but NIO vendors it. SwiftNIO should move to using & vendoring [`llhttp`](https://github.com/nodejs/llhttp) which has a similar API or similar.

Something is special about the NIO 1.14.1 docs which means that Google likes them better than anything recent This leads to confused people like here: https://stackoverflow.com/questions/71134748/vapor-swiftnio-interfacing-with-async-methods/71137532#71137532

`ByteBuffer`'s `get*`/`set*` methods have a very niche use-case. In almost all cases, the users should use `read*`/`write*` or something like `readableBytesView`. The key issues are stuff like `buffer.getData(at: 0, length:...

### Expected behavior SwiftNIO should come with an asynchronous DNS resolver. ### Actual behavior [bad](https://github.com/apple/swift-nio/blob/master/Sources/NIO/GetaddrinfoResolver.swift#L15-L23): ``` /// A DNS resolver built on top of the libc `getaddrinfo` function. /// ///...

enhancement

[TIL](https://jvns.ca/blog/2022/01/15/some-ways-dns-can-break/#problem-round-robin-dns-doesn-t-work-with-getaddrinfo) that apparently, `getaddrinfo` does not do DNS round-robin'ing because apparently it sorts the results. If true that would mean that SwiftNIO programs that don't change the default resolver --...

`pthread_mutex_t` is much slower than `os_unfair_lock` on Darwin because (contrary to Linux) `pthread_mutex_t` is fair on Darwin. We should just switch to `os_unfair_lock` for the Darwin versions where that's available.

performance
darwin

We've gotten more reports that `swift-nio` is slow to clone and it seems like the in-repo `gh-pages` branch is becoming a problem. See this: ``` $ git clone https://github.com/apple/swift-nio.git &&...

bug

SwiftPM now finally supports test auto-discovery on Linux: https://twitter.com/olebegemann/status/1160846803274801152 . We should adopt. Should be as easy as deleting the Ruby and doing `swift test --enable-test-discovery`

enhancement