From efd7ce887c09cf6656f22ba4c05d497cfdf24fb1 Mon Sep 17 00:00:00 2001
From: deuce <>
Date: Thu, 15 Mar 2012 04:30:14 +0000
Subject: [PATCH] Add readmulti function to perform multiple reads in a single
 operation.

---
 exec/load/json-client.js | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/exec/load/json-client.js b/exec/load/json-client.js
index ccd66baacf..2f0a7826fb 100644
--- a/exec/load/json-client.js
+++ b/exec/load/json-client.js
@@ -151,7 +151,26 @@ function JSONClient(serverAddr,serverPort) {
 		});
 		return this.wait();
     }
-	
+
+	/* read multiple object data (lock for reading or writing, blocking) */
+	/* readmulti([['tw2','sector.1',undefined,'sector'],['tw2','planets.1',undefined,'planet']]); */
+	this.readmulti=function(objects) {
+		var i;
+		var ret={};
+		for(i in objects) {
+			this.send(objects[i][0],'QUERY',{
+				oper:'READ',
+				location:objects[i][1],
+				lock:objects[i][2],
+				timeout:this.settings.TIMEOUT
+			});
+		}
+		for(i in objects) {
+			ret[objects[i][3]]=this.wait();
+		}
+		return ret;
+	}
+
 	/* read object keys (lock for reading or writing, blocking) */
 	this.keys=function(scope,location,lock) {
 		this.send(scope,"QUERY",{
-- 
GitLab