aboutsummaryrefslogtreecommitdiff
path: root/examples/jarvis.js
diff options
context:
space:
mode:
authorHolden Rohrer <holden.rohrer@gmail.com>2019-12-27 14:35:45 -0500
committerHolden Rohrer <holden.rohrer@gmail.com>2019-12-27 14:35:45 -0500
commit8810c883ff3b0b5709b9d7fb78e70ecec7211e94 (patch)
treeeddaf1cf6f75f5a32f31fc98204eb7ca69bdaa01 /examples/jarvis.js
parent05b56f4388f1cfec012acda92e5791a95d65ef69 (diff)
space.write relies on .loc; expanded jarvis response
Diffstat (limited to 'examples/jarvis.js')
-rw-r--r--examples/jarvis.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/examples/jarvis.js b/examples/jarvis.js
index 8b67961..e0cb82f 100644
--- a/examples/jarvis.js
+++ b/examples/jarvis.js
@@ -54,6 +54,26 @@ function identity(sender){
});
}
+let response = new Space();
+response.adhoc('yes, my liege');
+let queue = []; // Must be expanded to handle actual use cases
+let open = true;
+function send(){
+ if (queue.length == 0) open = true;
+ else{
+ main.write(queue.shift());
+ setTimeout(send, 1000);
+ }
+}
function respond(coord){
+ response.loc = coord;
console.log('called at', coord);
+ if (open){
+ main.write(response.towrite());
+ setTimeout(send, 1000);
+ } else {
+ queue.push(response.towrite());
+ }
+ send(response.towrite());
+ main.write(response.towrite());
}