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
// Implementation notes: The `_failureDetectorRef` has to remain internally accessible.
100
-
// This is in order to solve a chicken-and-egg problem that we face during spawning of
101
-
// the first system actor that is the *failure detector* so it cannot reach to the systems
102
-
// value before it started...
103
-
var_nodeDeathWatcher:NodeDeathWatcherShell.Ref?
104
-
varnodeDeathWatcher:NodeDeathWatcherShell.Ref{
105
-
guardlet it =self._nodeDeathWatcher else{
106
-
returnfatalErrorBacktrace("Accessing ClusterShell.nodeDeathWatcher failed, was nil! This should never happen as access should only happen after start() was invoked.")
107
-
}
108
-
return it
109
-
}
110
-
111
96
init(){
112
97
self._associationsLock =Lock()
113
98
self._associationsRegistry =[:]
@@ -116,21 +101,13 @@ internal class ClusterShell {
116
101
// the single thing in the class it will modify is the associations registry, which we do to avoid actor queues when
117
102
// remote refs need to obtain those
118
103
//
119
-
// TODO: see if we can restructure this to avoid these nil/then-set dance
104
+
// FIXME: see if we can restructure this to avoid these nil/then-set dance
120
105
self._ref =nil
121
-
self._nodeDeathWatcher =nil
122
106
}
123
107
124
108
/// Actually starts the shell which kicks off binding to a port, and all further cluster work
0 commit comments