"""
S.rawcommand(T.TripeAsynchronousCommand(
me._q, (me._peer, me.seq),
- ['PING',
+ ['EPING',
'-background', S.bgtag(),
'-timeout', str(me._timeout),
'--',
me._ping()
elif code == 'FAIL':
S.notify('watch', 'ping-failed', me._peer, *stuff)
- if stuff and stuff[0] == 'unknown-peer':
+ if not stuff:
+ pass
+ elif stuff[0] == 'unknown-peer':
me._pinger.kill(me._peer)
+ elif stuff[0] == 'ping-send-failed':
+ me._reconnect()
elif code == 'INFO':
if stuff[0] == 'ping-ok':
if me._failures > 0:
if startup:
ifname = S.ifname(peer)
addr = S.addr(peer)
- addpeer(info, peer, ifname, *addr)
+ T.defer(addpeer, info, peer, ifname, *addr)
else:
me.add(peer, info, True)
return me
except KeyError:
return
if 'ifup' in info:
- T.Coroutine(ifupdown).switch('ifup', peer, info, ifname, *addr)
+ T.Coroutine(ifupdown, name = 'ifup %s' % peer) \
+ .switch('ifup', peer, info, ifname, *addr)
if 'connect' in info:
- T.Coroutine(connect).switch(peer, info['connect'])
+ T.Coroutine(connect, name = 'connect %s' % peer) \
+ .switch(peer, info['connect'])
if boolean(info, 'watch', False):
pinger.add(peer, info, False)
except KeyError:
pass
if 'ifdown' in info:
- T.Coroutine(ifupdown).switch('ifdown', peer, info)
+ T.Coroutine(ifupdown, name = 'ifdown %s' % peer) \
+ .switch('ifdown', peer, info)
def notify(_, code, *rest):
"""
errorwatch = ErrorWatch()
childwatch = ChildWatch()
pinger = Pinger()
- T.Coroutine(dbwatch).switch()
+ T.Coroutine(dbwatch, name = 'dbwatch').switch()
errorwatch.switch()
pinger.switch()