12
12
import Swift
13
13
import _Concurrency
14
14
15
+ /// A distributed actor system
15
16
@available ( SwiftStdlib 5 . 7 , * )
16
17
public protocol DistributedActorSystem : Sendable {
17
18
/// The identity used by actors that communicate via this transport
@@ -340,7 +341,7 @@ extension DistributedActorSystem {
340
341
/// The string representation will attempt to pretty print the target identifier,
341
342
/// however its exact format is not specified and may change in future versions.
342
343
@available ( SwiftStdlib 5 . 7 , * )
343
- public struct RemoteCallTarget : CustomStringConvertible {
344
+ public struct RemoteCallTarget : CustomStringConvertible , Hashable {
344
345
private let _identifier : String
345
346
346
347
public init ( _ identifier: String ) {
@@ -407,6 +408,7 @@ func _executeDistributedTarget<D: DistributedTargetInvocationDecoder>(
407
408
/// Note that the decoding will be provided the specific types that the sending side used to preform the call,
408
409
/// so decoding can rely on simply invoking e.g. `Codable` (if that is the `SerializationRequirement`) decoding
409
410
/// entry points on the provided types.
411
+ @available( SwiftStdlib 5.7 , * )
410
412
public protocol DistributedTargetInvocationEncoder {
411
413
associatedtype SerializationRequirement
412
414
@@ -418,7 +420,7 @@ public protocol DistributedTargetInvocationEncoder {
418
420
// ///
419
421
// /// Record an argument of `Argument` type.
420
422
// /// This will be invoked for every argument of the target, in declaration order.
421
- // mutating func recordArgument<Argument: SerializationRequirement>(name: String, _ argument: Argument) throws
423
+ // mutating func recordArgument<Argument: SerializationRequirement>(_ argument: Argument) throws
422
424
423
425
/// Record the error type of the distributed method.
424
426
/// This method will not be invoked if the target is not throwing.
@@ -433,8 +435,12 @@ public protocol DistributedTargetInvocationEncoder {
433
435
mutating func do neRecording( ) throws
434
436
}
435
437
438
+ @available ( SwiftStdlib 5 . 7 , * )
439
+ public
440
+
436
441
/// Decoder that must be provided to `executeDistributedTarget` and is used
437
442
/// by the Swift runtime to decode arguments of the invocation.
443
+ @available ( SwiftStdlib 5 . 7 , * )
438
444
public protocol DistributedTargetInvocationDecoder {
439
445
associatedtype SerializationRequirement
440
446
0 commit comments