Tags: guillaumerose/swift-nio
Tags
Remove reference to local toolchain Signed-off-by: Guillaume Rose <guillaume.rose@docker.com>
Add overrides with swift package generate-xcodeproj --xcconfig-overri… …des overrides.xcconfig Signed-off-by: Guillaume Rose <guillaume.rose@docker.com>
Add Carthage support Signed-off-by: Guillaume Rose <guillaume.rose@docker.com>
EventLoop.assertInEventLoop and preconditionInEventLoop (apple#644) Motivation: Dispatch can only precondition that code is run from a certain queue, it can't return if code is running on a certain queue. To support that this introduces new EventLoop.assertInEventLoop and EventLoop.preconditionInEventLoop methods instead of assert(eventLoop.inEventLoop). Modifications: add EventLoop.assertInEventLoop and EventLoop.preconditionInEventLoop Result: better support for Network.framework in NIOTS
fix potential deadlock in BlockingIOThreadPool (apple#634) Motivation: BlockingIOThreadPool used to call out with a lock held and on top of that on the wrong thread... Modifications: Make BlockingIOThreadPool call out on the supplied `queue` Result: fewer deadlock and surprises
allow two distinct ChannelOptions of one type (apple#597) Motivation: Quite embarrasingly, we previously would only store one `ChannelOption` per `ChannelOption` type. Most channel option types are distinct and that's probably why it took so long to find this issue. Thanks @pushkarnk for reporting. Unfortunately though, the most important `ChannelOption` is `.socket` which crucially also holds a level and a name. That means if you set two `ChannelOptions.socket` options with distinct name/level, one would still override the other. Example: .serverChannelOption(ChannelOptions.socket(SocketOptionLevel(SOL_SOCKET), SO_REUSEPORT), value: 1) .serverChannelOption(ChannelOptions.socket(SocketOptionLevel(SOL_SOCKET), SO_REUSEADDR), value: 1) would only actually set the latter. Modifications: - made all common `ChannelOption` types equatable (for 2.0 this will be a protocol requirement) - deprecated non-Equatable `ChannelOption` types - zero out buffer before calling getsockopt as Linux doesn't do that Result: you can now set two distinct `ChannelOptions` for one type Motivation: Explain here the context, and why you're making that change. What is the problem you're trying to solve. Modifications: Describe the modifications you've done. Result: After your change, what will change.
Avoid implicit conversion. (apple#566) Motivation: We were inadvertently doing an implicit integer conversion from ssize_t to unsigned int in our sendmmsg shim. This can sometimes generate warnings. The conversion itself is safe. Modifications: Make the conversion explicit. Result: No warnings. (cherry picked from commit 131f378)
PreviousNext