scansion/objects/client.lua

changeset 73
1c07ef6c6502
parent 66
909c00296c2a
child 82
f90056b8e278
--- a/scansion/objects/client.lua	Fri Jan 01 20:44:44 2016 +0000
+++ b/scansion/objects/client.lua	Fri Jan 01 20:45:22 2016 +0000
@@ -73,7 +73,14 @@
 
 	sends = function (client, data)
 		local stanza =  fill_vars(client.script, assert(parse_xml((table.concat(data):gsub("\t", "  ")))));
+		local wait, done = async.waiter();
+		local function handle_drained()
+			client.stream:unhook("drained", handle_drained);
+			done();
+		end
+		client.stream:hook("drained", handle_drained);
 		client.stream:send(stanza);
+		wait();
 	end;
 
 	receives = function (client, data)

mercurial