From 3c124633b31dcdb15d9d2c472a18a80e08f11cff Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Fri, 18 Mar 2016 17:08:49 -0400 Subject: [PATCH] Terminate actors when they have no more facets left. --- js/src/actor.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/js/src/actor.js b/js/src/actor.js index 6361193..cd8dcc5 100644 --- a/js/src/actor.js +++ b/js/src/actor.js @@ -33,6 +33,13 @@ Actor.prototype.addFacet = function(facet) { this.facets = this.facets.add(facet); }; +Actor.prototype.removeFacet = function(facet) { + this.facets = this.facets.remove(facet); + if (this.facets.isEmpty()) { + Network.exit(); + } +}; + //--------------------------------------------------------------------------- function createFacet() { @@ -130,6 +137,7 @@ Facet.prototype.terminate = function() { }); Network.stateChange(aggregate); this.endpoints = Immutable.Map(); + this.actor.removeFacet(this); }; //---------------------------------------------------------------------------