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); }; //---------------------------------------------------------------------------