Skip to content

Commit ddeefaa

Browse files
authored
Fixed explicit Sendable issues. (#118)
Performed the necessary changes to enable compiler flag -require-explicit-sendable.
1 parent 46a4128 commit ddeefaa

9 files changed

+18
-15
lines changed

Sources/GRPCNIOTransportCore/Client/HTTP2ClientTransport.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ public import NIOCore
1919

2020
/// A namespace for the HTTP/2 client transport.
2121
@available(gRPCSwiftNIOTransport 2.0, *)
22-
public enum HTTP2ClientTransport {}
22+
public enum HTTP2ClientTransport: Sendable {}
2323

2424
@available(gRPCSwiftNIOTransport 2.0, *)
2525
extension HTTP2ClientTransport {
2626
/// A namespace for HTTP/2 client transport configuration.
27-
public enum Config {}
27+
public enum Config: Sendable {}
2828
}
2929

3030
@available(gRPCSwiftNIOTransport 2.0, *)

Sources/GRPCNIOTransportCore/Client/Resolver/NameResolver+DNS.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ extension ResolvableTarget where Self == ResolvableTargets.DNS {
5757
@available(gRPCSwiftNIOTransport 2.0, *)
5858
extension NameResolvers {
5959
/// A ``NameResolverFactory`` for ``ResolvableTargets/DNS`` targets.
60-
public struct DNS: NameResolverFactory {
60+
public struct DNS: NameResolverFactory, Sendable {
6161
public typealias Target = ResolvableTargets.DNS
6262

6363
/// Create a new DNS name resolver factory.

Sources/GRPCNIOTransportCore/Client/Resolver/NameResolver+IPv4.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ extension ResolvableTargets {
2222
///
2323
/// IPv4 addresses can be resolved by the ``NameResolvers/IPv4`` resolver which creates a
2424
/// separate ``Endpoint`` for each address.
25-
public struct IPv4: ResolvableTarget {
25+
public struct IPv4: ResolvableTarget, Sendable {
2626
/// The IPv4 addresses.
2727
public var addresses: [SocketAddress.IPv4]
2828

@@ -62,7 +62,7 @@ extension NameResolvers {
6262
///
6363
/// The name resolver for a given target always produces the same values, with one endpoint per
6464
/// address in the target. This resolver doesn't support fetching service configuration.
65-
public struct IPv4: NameResolverFactory {
65+
public struct IPv4: NameResolverFactory, Sendable {
6666
public typealias Target = ResolvableTargets.IPv4
6767

6868
/// Create a new IPv4 resolver factory.

Sources/GRPCNIOTransportCore/Client/Resolver/NameResolver+IPv6.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ extension ResolvableTargets {
2222
///
2323
/// IPv4 addresses can be resolved by the ``NameResolvers/IPv6`` resolver which creates a
2424
/// separate ``Endpoint`` for each address.
25-
public struct IPv6: ResolvableTarget {
25+
public struct IPv6: ResolvableTarget, Sendable {
2626
/// The IPv6 addresses.
2727
public var addresses: [SocketAddress.IPv6]
2828

@@ -62,7 +62,7 @@ extension NameResolvers {
6262
///
6363
/// The name resolver for a given target always produces the same values, with one endpoint per
6464
/// address in the target. This resolver doesn't support fetching service configuration.
65-
public struct IPv6: NameResolverFactory {
65+
public struct IPv6: NameResolverFactory, Sendable {
6666
public typealias Target = ResolvableTargets.IPv6
6767

6868
/// Create a new IPv6 resolver factory.

Sources/GRPCNIOTransportCore/Client/Resolver/NameResolver+UDS.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ extension ResolvableTargets {
2222
///
2323
/// ``UnixDomainSocket`` addresses can be resolved by the ``NameResolvers/UnixDomainSocket``
2424
/// resolver which creates a single ``Endpoint`` for target address.
25-
public struct UnixDomainSocket: ResolvableTarget {
25+
public struct UnixDomainSocket: ResolvableTarget, Sendable {
2626
/// The Unix Domain Socket address.
2727
public var address: SocketAddress.UnixDomainSocket
2828

@@ -62,7 +62,7 @@ extension NameResolvers {
6262
///
6363
/// The name resolver for a given target always produces the same values, with a single endpoint.
6464
/// This resolver doesn't support fetching service configuration.
65-
public struct UnixDomainSocket: NameResolverFactory {
65+
public struct UnixDomainSocket: NameResolverFactory, Sendable {
6666
public typealias Target = ResolvableTargets.UnixDomainSocket
6767

6868
public init() {}

Sources/GRPCNIOTransportCore/Client/Resolver/NameResolver+VSOCK.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ extension ResolvableTargets {
2222
///
2323
/// ``VirtualSocket`` addresses can be resolved by the ``NameResolvers/VirtualSocket``
2424
/// resolver which creates a single ``Endpoint`` for target address.
25-
public struct VirtualSocket: ResolvableTarget {
25+
public struct VirtualSocket: ResolvableTarget, Sendable {
2626
public var address: SocketAddress.VirtualSocket
2727

2828
public init(address: SocketAddress.VirtualSocket) {
@@ -52,7 +52,7 @@ extension NameResolvers {
5252
///
5353
/// The name resolver for a given target always produces the same values, with a single endpoint.
5454
/// This resolver doesn't support fetching service configuration.
55-
public struct VirtualSocket: NameResolverFactory {
55+
public struct VirtualSocket: NameResolverFactory, Sendable {
5656
public typealias Target = ResolvableTargets.VirtualSocket
5757

5858
public init() {}

Sources/GRPCNIOTransportCore/Client/Resolver/NameResolver.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,8 @@ public protocol ResolvableTarget {}
141141

142142
/// A namespace for resolvable targets.
143143
@available(gRPCSwiftNIOTransport 2.0, *)
144-
public enum ResolvableTargets {}
144+
public enum ResolvableTargets: Sendable {}
145145

146146
/// A namespace for name resolver factories.
147147
@available(gRPCSwiftNIOTransport 2.0, *)
148-
public enum NameResolvers {}
148+
public enum NameResolvers: Sendable {}

Sources/GRPCNIOTransportCore/Client/Resolver/NameResolverRegistry.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,3 +209,6 @@ public struct NameResolverRegistry {
209209
return nil
210210
}
211211
}
212+
213+
@available(*, unavailable)
214+
extension NameResolverRegistry: Sendable {}

Sources/GRPCNIOTransportCore/Server/HTTP2ServerTransport.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ internal import NIOHTTP2
2020

2121
/// A namespace for the HTTP/2 server transport.
2222
@available(gRPCSwiftNIOTransport 2.0, *)
23-
public enum HTTP2ServerTransport {}
23+
public enum HTTP2ServerTransport: Sendable {}
2424

2525
@available(gRPCSwiftNIOTransport 2.0, *)
2626
extension HTTP2ServerTransport {
2727
/// A namespace for HTTP/2 server transport configuration.
28-
public enum Config {}
28+
public enum Config: Sendable {}
2929
}
3030

3131
@available(gRPCSwiftNIOTransport 2.0, *)

0 commit comments

Comments
 (0)