Skip to content

Commit 14f3547

Browse files
committed
InjectorProtocol -> Injector
1 parent 926f8d8 commit 14f3547

File tree

12 files changed

+92
-135
lines changed

12 files changed

+92
-135
lines changed

Sources/Instrumentation/Instrument.swift

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import CoreBaggage
1515

1616
/// Conforming types are used to extract values from a specific `Carrier`.
17-
public protocol ExtractorProtocol {
17+
public protocol Extractor {
1818
/// The carrier to extract values from.
1919
associatedtype Carrier
2020

@@ -27,7 +27,7 @@ public protocol ExtractorProtocol {
2727
}
2828

2929
/// Conforming types are used to inject values into a specific `Carrier`.
30-
public protocol InjectorProtocol {
30+
public protocol Injector {
3131
/// The carrier to inject values into.
3232
associatedtype Carrier
3333

@@ -50,27 +50,15 @@ public protocol Instrument {
5050
/// - carrier: The `Carrier` that was used to propagate values across boundaries.
5151
/// - baggage: The `Baggage` into which these values should be injected.
5252
/// - extractor: The `Extractor` that extracts values from the given `Carrier`.
53-
func extract<Carrier, Extractor>(
54-
_ carrier: Carrier,
55-
into baggage: inout Baggage,
56-
using extractor: Extractor
57-
)
58-
where
59-
Extractor: ExtractorProtocol,
60-
Extractor.Carrier == Carrier
53+
func extract<Carrier, Extract>(_ carrier: Carrier, into baggage: inout Baggage, using extractor: Extract)
54+
where Extract: Extractor, Extract.Carrier == Carrier
6155

6256
/// Inject values from a `BaggageContext` and inject them into the given `Carrier` using the given `Injector`.
6357
///
6458
/// - Parameters:
6559
/// - baggage: The `Baggage` from which relevant information will be extracted.
6660
/// - carrier: The `Carrier` into which this information will be injected.
6761
/// - injector: The `Injector` used to inject extracted `BaggageContext` into the given `Carrier`.
68-
func inject<Carrier, Injector>(
69-
_ baggage: Baggage,
70-
into carrier: inout Carrier,
71-
using injector: Injector
72-
)
73-
where
74-
Injector: InjectorProtocol,
75-
Injector.Carrier == Carrier
62+
func inject<Carrier, Inject>(_ baggage: Baggage, into carrier: inout Carrier, using injector: Inject)
63+
where Inject: Injector, Inject.Carrier == Carrier
7664
}

Sources/Instrumentation/MultiplexInstrument.swift

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,13 @@ extension MultiplexInstrument {
3434
}
3535

3636
extension MultiplexInstrument: Instrument {
37-
public func inject<Carrier, Injector>(
38-
_ baggage: Baggage, into carrier: inout Carrier, using injector: Injector
39-
)
40-
where
41-
Injector: InjectorProtocol,
42-
Carrier == Injector.Carrier {
37+
public func inject<Carrier, Inject>(_ baggage: Baggage, into carrier: inout Carrier, using injector: Inject)
38+
where Inject: Injector, Carrier == Inject.Carrier {
4339
self.instruments.forEach { $0.inject(baggage, into: &carrier, using: injector) }
4440
}
4541

46-
public func extract<Carrier, Extractor>(
47-
_ carrier: Carrier, into baggage: inout Baggage, using extractor: Extractor
48-
)
49-
where
50-
Carrier == Extractor.Carrier,
51-
Extractor: ExtractorProtocol {
42+
public func extract<Carrier, Extract>(_ carrier: Carrier, into baggage: inout Baggage, using extractor: Extract)
43+
where Extract: Extractor, Carrier == Extract.Carrier {
5244
self.instruments.forEach { $0.extract(carrier, into: &baggage, using: extractor) }
5345
}
5446
}

Sources/Instrumentation/NoOpInstrument.swift

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,16 @@ import CoreBaggage
1515

1616
/// A "no op" implementation of an `Instrument`.
1717
public struct NoOpInstrument: Instrument {
18-
public init() {}
18+
public init() {
19+
}
1920

20-
public func inject<Carrier, Injector>(
21-
_ baggage: Baggage,
22-
into carrier: inout Carrier,
23-
using injector: Injector
24-
)
25-
where
26-
Injector: InjectorProtocol,
27-
Carrier == Injector.Carrier {}
21+
public func inject<Carrier, Inject>(_ baggage: Baggage, into carrier: inout Carrier, using injector: Inject)
22+
where Inject: Injector, Carrier == Inject.Carrier {
23+
// no-op
24+
}
2825

29-
public func extract<Carrier, Extractor>(
30-
_ carrier: Carrier,
31-
into baggage: inout Baggage,
32-
using extractor: Extractor
33-
)
34-
where
35-
Extractor: ExtractorProtocol,
36-
Carrier == Extractor.Carrier {}
26+
public func extract<Carrier, Extract>(_ carrier: Carrier, into baggage: inout Baggage, using extractor: Extract)
27+
where Extract: Extractor, Carrier == Extract.Carrier {
28+
// no-op
29+
}
3730
}

Sources/Tracing/NoOpTracer.swift

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -27,23 +27,15 @@ public struct NoOpTracer: Tracer {
2727

2828
public func forceFlush() {}
2929

30-
public func inject<Carrier, Injector>(
31-
_ baggage: Baggage,
32-
into carrier: inout Carrier,
33-
using injector: Injector
34-
)
35-
where
36-
Injector: InjectorProtocol,
37-
Carrier == Injector.Carrier {}
30+
public func inject<Carrier, Inject>(_ baggage: Baggage, into carrier: inout Carrier, using injector: Inject)
31+
where Inject: Injector, Carrier == Inject.Carrier {
32+
// no-op
33+
}
3834

39-
public func extract<Carrier, Extractor>(
40-
_ carrier: Carrier,
41-
into baggage: inout Baggage,
42-
using extractor: Extractor
43-
)
44-
where
45-
Extractor: ExtractorProtocol,
46-
Carrier == Extractor.Carrier {}
35+
public func extract<Carrier, Extract>(_ carrier: Carrier, into baggage: inout Baggage, using extractor: Extract)
36+
where Extract: Extractor, Carrier == Extract.Carrier {
37+
// no-op
38+
}
4739

4840
public final class NoOpSpan: Span {
4941
public let baggage: Baggage

Tests/InstrumentationTests/InstrumentTests.swift

Lines changed: 14 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,13 @@ final class InstrumentTests: XCTestCase {
3939
}
4040
}
4141

42-
private struct DictionaryInjector: InjectorProtocol {
42+
private struct DictionaryInjector: Injector {
4343
func inject(_ value: String, forKey key: String, into dictionary: inout [String: String]) {
4444
dictionary[key] = value
4545
}
4646
}
4747

48-
private struct DictionaryExtractor: ExtractorProtocol {
48+
private struct DictionaryExtractor: Extractor {
4949
func extract(key: String, from dictionary: [String: String]) -> String? {
5050
return dictionary[key]
5151
}
@@ -61,22 +61,14 @@ private final class FirstFakeTracer: Instrument {
6161
static let headerName = "first-fake-trace-id"
6262
static let defaultTraceID = UUID().uuidString
6363

64-
func inject<Carrier, Injector>(
65-
_ baggage: Baggage, into carrier: inout Carrier, using injector: Injector
66-
)
67-
where
68-
Injector: InjectorProtocol,
69-
Carrier == Injector.Carrier {
64+
func inject<Carrier, Inject>(_ baggage: Baggage, into carrier: inout Carrier, using injector: Inject)
65+
where Inject: Injector, Carrier == Inject.Carrier {
7066
guard let traceID = baggage[TraceIDKey.self] else { return }
7167
injector.inject(traceID, forKey: FirstFakeTracer.headerName, into: &carrier)
7268
}
7369

74-
func extract<Carrier, Extractor>(
75-
_ carrier: Carrier, into baggage: inout Baggage, using extractor: Extractor
76-
)
77-
where
78-
Extractor: ExtractorProtocol,
79-
Carrier == Extractor.Carrier {
70+
func extract<Carrier, Extract>(_ carrier: Carrier, into baggage: inout Baggage, using extractor: Extract)
71+
where Extract: Extractor, Carrier == Extract.Carrier {
8072
let traceID = extractor.extract(key: FirstFakeTracer.headerName, from: carrier) ?? FirstFakeTracer.defaultTraceID
8173
baggage[TraceIDKey.self] = traceID
8274
}
@@ -92,22 +84,22 @@ private final class SecondFakeTracer: Instrument {
9284
static let headerName = "second-fake-trace-id"
9385
static let defaultTraceID = UUID().uuidString
9486

95-
func inject<Carrier, Injector>(
96-
_ baggage: Baggage, into carrier: inout Carrier, using injector: Injector
87+
func inject<Carrier, Inject>(
88+
_ baggage: Baggage, into carrier: inout Carrier, using injector: Inject
9789
)
9890
where
99-
Injector: InjectorProtocol,
100-
Carrier == Injector.Carrier {
91+
Inject: Injector,
92+
Carrier == Inject.Carrier {
10193
guard let traceID = baggage[TraceIDKey.self] else { return }
10294
injector.inject(traceID, forKey: SecondFakeTracer.headerName, into: &carrier)
10395
}
10496

105-
func extract<Carrier, Extractor>(
106-
_ carrier: Carrier, into baggage: inout Baggage, using extractor: Extractor
97+
func extract<Carrier, Extract>(
98+
_ carrier: Carrier, into baggage: inout Baggage, using extractor: Extract
10799
)
108100
where
109-
Extractor: ExtractorProtocol,
110-
Carrier == Extractor.Carrier {
101+
Extract: Extractor,
102+
Carrier == Extract.Carrier {
111103
let traceID = extractor.extract(key: SecondFakeTracer.headerName, from: carrier) ?? SecondFakeTracer.defaultTraceID
112104
baggage[TraceIDKey.self] = traceID
113105
}

Tests/InstrumentationTests/InstrumentationSystemTests.swift

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -42,41 +42,41 @@ final class InstrumentationSystemTests: XCTestCase {
4242
}
4343

4444
private final class FakeTracer: Instrument {
45-
func inject<Carrier, Injector>(
45+
func inject<Carrier, Inject>(
4646
_ baggage: Baggage,
4747
into carrier: inout Carrier,
48-
using injector: Injector
48+
using injector: Inject
4949
)
5050
where
51-
Injector: InjectorProtocol,
52-
Carrier == Injector.Carrier {}
51+
Inject: Injector,
52+
Carrier == Inject.Carrier {}
5353

54-
func extract<Carrier, Extractor>(
54+
func extract<Carrier, Extract>(
5555
_ carrier: Carrier,
5656
into baggage: inout Baggage,
57-
using extractor: Extractor
57+
using extractor: Extract
5858
)
5959
where
60-
Extractor: ExtractorProtocol,
61-
Carrier == Extractor.Carrier {}
60+
Extract: Extractor,
61+
Carrier == Extract.Carrier {}
6262
}
6363

6464
private final class FakeInstrument: Instrument {
65-
func inject<Carrier, Injector>(
65+
func inject<Carrier, Inject>(
6666
_ baggage: Baggage,
6767
into carrier: inout Carrier,
68-
using injector: Injector
68+
using injector: Inject
6969
)
7070
where
71-
Injector: InjectorProtocol,
72-
Carrier == Injector.Carrier {}
71+
Inject: Injector,
72+
Carrier == Inject.Carrier {}
7373

74-
func extract<Carrier, Extractor>(
74+
func extract<Carrier, Extract>(
7575
_ carrier: Carrier,
7676
into baggage: inout Baggage,
77-
using extractor: Extractor
77+
using extractor: Extract
7878
)
7979
where
80-
Extractor: ExtractorProtocol,
81-
Carrier == Extractor.Carrier {}
80+
Extract: Extractor,
81+
Carrier == Extract.Carrier {}
8282
}

Tests/TracingTests/TestTracer.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,18 +37,18 @@ final class TestTracer: Tracer {
3737

3838
public func forceFlush() {}
3939

40-
func extract<Carrier, Extractor>(_ carrier: Carrier, into baggage: inout Baggage, using extractor: Extractor)
40+
func extract<Carrier, Extract>(_ carrier: Carrier, into baggage: inout Baggage, using extractor: Extract)
4141
where
42-
Extractor: ExtractorProtocol,
43-
Carrier == Extractor.Carrier {
42+
Extract: Extractor,
43+
Carrier == Extract.Carrier {
4444
let traceID = extractor.extract(key: "trace-id", from: carrier) ?? UUID().uuidString
4545
baggage.traceID = traceID
4646
}
4747

48-
func inject<Carrier, Injector>(_ baggage: Baggage, into carrier: inout Carrier, using injector: Injector)
48+
func inject<Carrier, Inject>(_ baggage: Baggage, into carrier: inout Carrier, using injector: Inject)
4949
where
50-
Injector: InjectorProtocol,
51-
Carrier == Injector.Carrier {
50+
Inject: Injector,
51+
Carrier == Inject.Carrier {
5252
guard let traceID = baggage.traceID else { return }
5353
injector.inject(traceID, forKey: "trace-id", into: &carrier)
5454
}

Tests/TracingTests/TracedLockTests.swift

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -74,23 +74,23 @@ private final class TracedLockPrintlnTracer: Tracer {
7474

7575
public func forceFlush() {}
7676

77-
func inject<Carrier, Injector>(
77+
func inject<Carrier, Inject>(
7878
_ baggage: Baggage,
7979
into carrier: inout Carrier,
80-
using injector: Injector
80+
using injector: Inject
8181
)
8282
where
83-
Injector: InjectorProtocol,
84-
Carrier == Injector.Carrier {}
83+
Inject: Injector,
84+
Carrier == Inject.Carrier {}
8585

86-
func extract<Carrier, Extractor>(
86+
func extract<Carrier, Extract>(
8787
_ carrier: Carrier,
8888
into baggage: inout Baggage,
89-
using extractor: Extractor
89+
using extractor: Extract
9090
)
9191
where
92-
Extractor: ExtractorProtocol,
93-
Carrier == Extractor.Carrier {}
92+
Extract: Extractor,
93+
Carrier == Extract.Carrier {}
9494

9595
final class TracedLockPrintlnSpan: Span {
9696
private let operationName: String

Tests/TracingTests/TracerTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,13 @@ final class TracerTests: XCTestCase {
5858

5959
typealias HTTPHeaders = [(String, String)]
6060

61-
struct HTTPHeadersExtractor: ExtractorProtocol {
61+
struct HTTPHeadersExtractor: Extractor {
6262
func extract(key: String, from headers: HTTPHeaders) -> String? {
6363
return headers.first(where: { $0.0 == key })?.1
6464
}
6565
}
6666

67-
struct HTTPHeadersInjector: InjectorProtocol {
67+
struct HTTPHeadersInjector: Injector {
6868
func inject(_ value: String, forKey key: String, into headers: inout HTTPHeaders) {
6969
headers.append((key, value))
7070
}

UseCases/Sources/HTTPEndToEnd/main.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,18 +45,18 @@ private final class FakeTracer: Instrument {
4545
static let headerName = "fake-trace-id"
4646
static let defaultTraceID = UUID().uuidString
4747

48-
func inject<Carrier, Injector>(_ baggage: Baggage, into carrier: inout Carrier, using injector: Injector)
48+
func inject<Carrier, Inject>(_ baggage: Baggage, into carrier: inout Carrier, using injector: Inject)
4949
where
50-
Injector: InjectorProtocol,
51-
Carrier == Injector.Carrier {
50+
Inject: Injector,
51+
Carrier == Inject.Carrier {
5252
guard let traceID = baggage[TraceIDKey.self] else { return }
5353
injector.inject(traceID, forKey: FakeTracer.headerName, into: &carrier)
5454
}
5555

56-
func extract<Carrier, Extractor>(_ carrier: Carrier, into baggage: inout Baggage, using extractor: Extractor)
56+
func extract<Carrier, Extract>(_ carrier: Carrier, into baggage: inout Baggage, using extractor: Extract)
5757
where
58-
Extractor: ExtractorProtocol,
59-
Carrier == Extractor.Carrier {
58+
Extract: Extractor,
59+
Carrier == Extract.Carrier {
6060
let traceID = extractor.extract(key: FakeTracer.headerName, from: carrier) ?? FakeTracer.defaultTraceID
6161
baggage[TraceIDKey.self] = traceID
6262
}

0 commit comments

Comments
 (0)