This commit is contained in:
Marco Pesenti Gritti 2006-05-19 14:19:03 -04:00
parent d2cc475095
commit 8499e97a00
3 changed files with 29 additions and 16 deletions

View File

@ -537,20 +537,23 @@ class MostlyReliablePipe(object):
return False
def _retransmit_check_worker(self):
now = time.time()
for key in self._incoming.keys()[:]:
message = self._incoming[key]
if message.complete():
continue
next_rt = message.next_rt_time()
if next_rt == 0 or next_rt > now:
continue
if self._retransmit_request(message):
# Kill the message, too many retries
print "(MRP): Dropped message %s, exceeded retries." % _stringify_sha(message.sha())
self._dispatched[key] = message
message.set_dispatch_time()
del self._incoming[key]
try:
now = time.time()
for key in self._incoming.keys()[:]:
message = self._incoming[key]
if message.complete():
continue
next_rt = message.next_rt_time()
if next_rt == 0 or next_rt > now:
continue
if self._retransmit_request(message):
# Kill the message, too many retries
print "(MRP): Dropped message %s, exceeded retries." % _stringify_sha(message.sha())
self._dispatched[key] = message
message.set_dispatch_time()
del self._incoming[key]
except KeyboardInterrupt:
return False
return True
def _process_incoming_data(self, segment):

View File

@ -60,7 +60,14 @@ class PresenceDiscovery(object):
# print "Browsing domain '%s' on %i.%i ..." % (domain, interface, protocol)
b = dbus.Interface(self.bus.get_object(avahi.DBUS_NAME, self.server.ServiceTypeBrowserNew(interface, protocol, domain, dbus.UInt32(0))), avahi.DBUS_INTERFACE_SERVICE_TYPE_BROWSER)
try:
b = dbus.Interface(self.bus.get_object(avahi.DBUS_NAME, self.server.ServiceTypeBrowserNew(interface, protocol, domain, dbus.UInt32(0))), avahi.DBUS_INTERFACE_SERVICE_TYPE_BROWSER)
except dbus.DBusException, exc:
str_exc = str(exc)
if str_exc.find("The name org.freedesktop.Avahi was not provided by any .service files") >= 0:
raise Exception("Avahi does not appear to be running. '%s'" % str_exc)
else:
raise exc
b.connect_to_signal('ItemNew', self.new_service_type)
self._service_type_browsers[(interface, protocol, domain)] = b

View File

@ -38,4 +38,7 @@ def start(console):
args.append('--console')
os.spawnvp(os.P_NOWAIT, 'python', args)
gtk.main()
try:
gtk.main()
except KeyboardInterrupt:
pass