|
@@ -23,7 +23,9 @@ String function comm_newPort():
|
|
|
Element queues
|
|
|
queues = create_node()
|
|
|
dict_add(queues, "input", create_node())
|
|
|
+ dict_add(queues, "last_input", queues["input"])
|
|
|
dict_add(queues, "output", create_node())
|
|
|
+ dict_add(queues, "last_output", queues["output"])
|
|
|
|
|
|
// Make it visible
|
|
|
dict_add(root, attempt, queues)
|
|
@@ -56,24 +58,24 @@ Element function comm_get(comm : String):
|
|
|
|
|
|
// Return the value that we got
|
|
|
Element root
|
|
|
- root = read_root()
|
|
|
Element value
|
|
|
- value = root["input"]["value"]
|
|
|
- dict_overwrite(root, "input", root["input"]["next"])
|
|
|
+ root = read_root()
|
|
|
+ value = root[comm]["input"]["value"]
|
|
|
+ dict_overwrite(root[comm], "input", root[comm]["input"]["next"])
|
|
|
|
|
|
return value!
|
|
|
|
|
|
String function comm_connect(service : String):
|
|
|
// Connect to an existing service
|
|
|
- log("Resolving service location for " + cast_e2s(service))
|
|
|
service = get_service_id(service)
|
|
|
- log("Resolved service ID: " + service)
|
|
|
service = read_attribute(core, service, "port")
|
|
|
- log("Resolved port: " + service)
|
|
|
|
|
|
String port
|
|
|
port = comm_newPort()
|
|
|
- log("Request new port: " + port)
|
|
|
comm_set(service, port)
|
|
|
- log("Communication OK")
|
|
|
return port!
|
|
|
+
|
|
|
+Void function comm_close(comm : String):
|
|
|
+ if (string_startswith(comm, "__")):
|
|
|
+ dict_delete(read_root(), comm)
|
|
|
+ return!
|