You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
+doc #439 Cluster docs revamp, full page with samples and discussions (#441)
* =doc more info in readme
* =doc speed up api: macro processing by calling git only once per run
* =doc allow Cluster.Member to resolve to right api docs location
* +doc #439 Cluster docs revamp, full page with samples and discussions
* +doc add more Working with Cluster.Events docs
* Apply suggestions from code review
Co-Authored-By: Yim Lee <[email protected]>
* Apply suggestions from code review
Co-Authored-By: Dario Rexin <[email protected]>
* Apply suggestions from code review
Co-Authored-By: Yim Lee <[email protected]>
Co-authored-by: Yim Lee <[email protected]>
Co-authored-by: Dario Rexin <[email protected]>
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -70,7 +70,7 @@ We require that your commit messages match our template. The easiest way to do t
70
70
71
71
### Test on Linux
72
72
73
-
Swift Distributed Actors uses XCTest to run tests on both macOS and Linux. While the macOS version of XCTest is able to use the Objective-C runtime to discover tests at execution time, the Linux version is not. For this reason, whenever you add new tests you will want to run a script that generates the hooks needed to run those tests on Linux, or our CI will complain that the tests are not all present on Linux. To do this, merely execute `ruby generate_linux_tests.rb` at the root of the package and check the changes it made.
73
+
Swift Distributed Actors uses XCTest to run tests on both macOS and Linux. While the macOS version of XCTest is able to use the Objective-C runtime to discover tests at execution time, the Linux version is not. For this reason, whenever you add new tests you will want to run a script that generates the hooks needed to run those tests on Linux, or our CI will complain that the tests are not all present on Linux. To do this, merely execute `./scripts/generate_linux_tests.rb` at the root of the package and check the changes it made.
Copy file name to clipboardExpand all lines: Docs/behaviors.adoc
+11-5Lines changed: 11 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -103,6 +103,8 @@ You might be curious how the message type looks like, now that we've seen a beha
103
103
In our example we do not yet worry about the serialization of the messages, so it can be in fact any type,
104
104
however we strongly recommend
105
105
106
+
[[spawning_actors]]
107
+
[[spawning_behaviors]]
106
108
=== Spawning Actors
107
109
108
110
TIP: Starting actors is referred to as "spawning" them. In the same way one refers to spawning new threads by a thread pool or operating system.
@@ -397,26 +399,24 @@ the following situation:
397
399
- messages sent to the "old" api:ActorRef[struct] are instead piped to the `/system/deadLetters` queue and may be logged for diagnosing potential control flow issues in the application.
398
400
399
401
[[receptionist]]
400
-
=== Locating actors using the Receptionist
402
+
=== Locating Actors using the Receptionist
401
403
402
-
The receptionist is a system actor that allows users to register actors under a :api:Receptionist[enum,alias='Receptionist.RegistrationKey'] so that
404
+
The receptionist is a system actor that allows users to register actors under a api:Receptionist[enum,alias='Receptionist.RegistrationKey'] so that
403
405
it can be looked up in other parts of the system. Usually actor references should be passed around to allow actors to communicate,
404
406
but there are cases where this is not convenient or possible. One such example is communication in a cluster. To share a reference
405
407
with another node in the cluster, we have to send that reference to it, but that is only possible, if we already have a reference
406
408
to an actor on that node. So by registering the actors we want to make accessible from other nodes in the cluster, we have a way
407
409
of sharing them by communicating with a local ref only. The registered actors will then automatically be made available on all
408
410
nodes in the cluster and can be looked up by sending a message to the local receptionist.
409
411
410
-
*Example*
411
-
412
412
First we need to register the actor on the node it lives on. This is usually done in the `.setup` behavior.
0 commit comments