Author: richard
Date: Fri Jan 16 07:22:16 2009
New Revision: 3856
URL: http://svn.slimdevices.com?rev=3856&root=Jive&view=rev
Log:
Bug: 10236
Description:
slimproto fix, some packets were getting lost and that could make playback stop.
Modified:
7.3/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua
Modified: 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua
URL:
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua?rev=3856&root=Jive&r1=3855&r2=3856&view=diff
==============================================================================
--- 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua
(original)
+++ 7.3/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua Fri Jan
16 07:22:16 2009
@@ -62,6 +62,7 @@
local table = require("jive.utils.table")
local Framework = require("jive.ui.Framework")
+local Task = require("jive.ui.Task")
local Timer = require("jive.ui.Timer")
local SocketTcp = require("jive.net.SocketTcp")
@@ -319,6 +320,7 @@
-- connection state UNCONNECTED / CONNECTED
obj.state = UNCONNECTED
+ obj.txqueue = {}
-- helo packet sent on connection
obj.heloPacket = heloPacket
@@ -431,6 +433,17 @@
self.reconnect = true
end
+ self.writePump = function(NetworkThreadErr)
+ if (NetworkThreadErr) then
+ return _handleDisconnect(NetworkThreadErr)
+ end
+
+ self.socket.t_sock:send(table.concat(self.txqueue))
+ self.socket:t_removeWrite()
+
+ self.txqueue = {}
+ end
+
if server then
self.server = server
self.reconnect = false
@@ -537,16 +550,9 @@
--_hexDump("STAT", data)
- local pump = function(NetworkThreadErr)
- if (NetworkThreadErr) then
- return _handleDisconnect(NetworkThreadErr)
- end
-
- self.socket.t_sock:send(data)
- self.socket:t_removeWrite()
- end
-
- self.socket:t_addWrite(pump, WRITE_TIMEOUT)
+ table.insert(self.txqueue, data)
+
+ self.socket:t_addWrite(self.writePump, WRITE_TIMEOUT)
return true
end
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/cgi-bin/mailman/listinfo/jive-checkins