Merge branch 'master' of git://github.com/macdiesel/SleekXMPP into hacks
This commit is contained in:
@@ -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__())
|
||||
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user