aboutsummaryrefslogtreecommitdiffstats
path: root/signaling-server/node_modules/socket.io/node_modules/redis/examples/backpressure_drain.js
diff options
context:
space:
mode:
Diffstat (limited to 'signaling-server/node_modules/socket.io/node_modules/redis/examples/backpressure_drain.js')
-rw-r--r--signaling-server/node_modules/socket.io/node_modules/redis/examples/backpressure_drain.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/signaling-server/node_modules/socket.io/node_modules/redis/examples/backpressure_drain.js b/signaling-server/node_modules/socket.io/node_modules/redis/examples/backpressure_drain.js
new file mode 100644
index 0000000..3488ef4
--- /dev/null
+++ b/signaling-server/node_modules/socket.io/node_modules/redis/examples/backpressure_drain.js
@@ -0,0 +1,33 @@
+var redis = require("../index"),
+ client = redis.createClient(null, null, {
+ command_queue_high_water: 5,
+ command_queue_low_water: 1
+ }),
+ remaining_ops = 100000, paused = false;
+
+function op() {
+ if (remaining_ops <= 0) {
+ console.error("Finished.");
+ process.exit(0);
+ }
+
+ remaining_ops--;
+ if (client.hset("test hash", "val " + remaining_ops, remaining_ops) === false) {
+ console.log("Pausing at " + remaining_ops);
+ paused = true;
+ } else {
+ process.nextTick(op);
+ }
+}
+
+client.on("drain", function () {
+ if (paused) {
+ console.log("Resuming at " + remaining_ops);
+ paused = false;
+ process.nextTick(op);
+ } else {
+ console.log("Got drain while not paused at " + remaining_ops);
+ }
+});
+
+op();