Merge branch 'master' of git://github.com/macdiesel/SleekXMPP into hacks

This commit is contained in:
Thom Nichols
2010-07-01 17:50:45 -04:00
7 changed files with 102 additions and 33 deletions

View File

@@ -1,9 +1,9 @@
"""
SleekXMPP: The Sleek XMPP Library
Copyright (C) 2010 Nathanael C. Fritz
This file is part of SleekXMPP.
SleekXMPP: The Sleek XMPP Library
Copyright (C) 2010 Nathanael C. Fritz
This file is part of SleekXMPP.
See the file license.txt for copying permission.
See the file license.txt for copying permission.
"""
from xml.etree import cElementTree as ET
import logging
@@ -383,6 +383,7 @@ class StanzaBase(ElementBase):
def exception(self, e):
logging.error(traceback.format_tb(e))
def send(self):
self.stream.sendRaw(self.__str__())
def send(self, priority=False):
if priority: self.stream.sendPriorityRaw(self.__str__())
else: self.stream.sendRaw(self.__str__())

View File

@@ -81,7 +81,7 @@ class XMLStream(object):
self.stream_footer = "</stream>"
self.eventqueue = queue.Queue()
self.sendqueue = queue.Queue()
self.sendqueue = queue.PriorityQueue()
self.scheduler = scheduler.Scheduler(self.eventqueue)
self.namespace_map = {}
@@ -220,7 +220,7 @@ class XMLStream(object):
while self.run:
if not self.state.ensure('connected',wait=2): continue
try:
self.sendRaw(self.stream_header)
self.sendPriorityRaw(self.stream_header)
while self.run and self.__readXML(): pass
except socket.timeout:
logging.debug('socket rcv timeout')
@@ -281,7 +281,7 @@ class XMLStream(object):
data = None
try:
data = self.sendqueue.get(True,5)
data = self.sendqueue.get(True,5)[1]
logging.debug("SEND: %s" % data)
self.socket.sendall(data.encode('utf-8'))
except queue.Empty:
@@ -302,7 +302,11 @@ class XMLStream(object):
self.disconnect(reconnect=True)
def sendRaw(self, data):
self.sendqueue.put(data)
self.sendqueue.put((1, data))
return True
def sendPriorityRaw(self, data):
self.sendqueue.put((0, data))
return True
def disconnect(self, reconnect=False):