From: Ian Jackson Date: Sat, 1 Apr 2017 23:48:47 +0000 (+0100) Subject: it pings! X-Git-Tag: hippotat/1.0.0~55^2~143 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=hippotat.git;a=commitdiff_plain;h=c13ee6e6ebf8336c44baacae7d8ee7a501b37f90 it pings! --- diff --git a/client b/client index e6ea8ed..83dfd66 100755 --- a/client +++ b/client @@ -93,7 +93,7 @@ class ResponseConsumer(GeneralResponseConsumer): return try: self._ssd.flush() - req_fin(req) + req_fin(self._req) except Exception as e: self._handleexception() @@ -154,7 +154,7 @@ def req_err(req, err): raise RuntimeError('[%#x] previously %s' % (id(req), outstanding[req])) outstanding[req] = err log_outstanding() - reactor.callLater(c.http_retry, (lambda: req_fin(req))) + reactor.callLater(c.http_retry, partial(req_fin, req)) except Exception as e: crash(traceback.format_exc() + '\n----- handling -----\n' + err) @@ -163,6 +163,12 @@ def req_fin(req): log_debug(DBG.HTTP_CTRL, 'req_fin OS=%d' % len(outstanding), idof=req) check_outbound() +class Errb: + def __init__(self, req): + self._req = req + def call(self, err): + req_err(self._req, err) + def check_outbound(): global outstanding @@ -216,8 +222,8 @@ def check_outbound(): outstanding[req] = len(d) log_debug(DBG.HTTP_CTRL, 'request OS=%d' % len(outstanding), idof=req, d=d) req.addTimeout(c.http_timeout, reactor) - req.addCallback((lambda resp: req_ok(req, resp))) - req.addErrback((lambda err: req_err(req, err))) + req.addCallback(partial(req_ok, req)) + req.addErrback(partial(req_err, req)) log_outstanding() diff --git a/hippotat/__init__.py b/hippotat/__init__.py index 3e8649a..5d5129a 100644 --- a/hippotat/__init__.py +++ b/hippotat/__init__.py @@ -20,6 +20,8 @@ from optparse import OptionParser from configparser import ConfigParser from configparser import NoOptionError +from functools import partial + import collections import time import codecs