From 4da48edb2b3b7d56ad154f667dc05bcd1bf7390a Mon Sep 17 00:00:00 2001 From: Leon Chen Date: Mon, 19 Sep 2016 11:36:58 -0400 Subject: [PATCH] add comments to Model traverseDAG generator function --- src/Model.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Model.js b/src/Model.js index a0615d0..3716267 100644 --- a/src/Model.js +++ b/src/Model.js @@ -249,8 +249,17 @@ export default class Model { */ * traverseDAG (nodes) { if (nodes.length === 0) { + // Stopping criterion: + // an output node will have 0 outbound nodes. return true } else if (nodes.length === 1) { + // Where computational logic lives for a given layer node + // - Makes sure results are available from inbound layer nodes + // - Keeps generator going until results are available from inbound layer nodes + // (important for Merge layer nodes where multiple inbound nodes may + // complete asynchronously) + // - Runs computation for current layer node: .call() + // - Starts new generator function for outbound nodes const node = nodes[0] const { layerClass, inbound, outbound } = this.modelDAG[node] if (layerClass !== 'Input') {