Merge branch 'master' into develop

This commit is contained in:
Griatch 2019-01-23 21:16:24 +01:00
commit d6ab9b3f5a

View file

@ -279,13 +279,19 @@ class AMPMultiConnectionProtocol(amp.AMP):
if data[-2:] != NULNUL: if data[-2:] != NULNUL:
# an incomplete AMP box means more batches are forthcoming. # an incomplete AMP box means more batches are forthcoming.
self.multibatches += 1 self.multibatches += 1
super(AMPMultiConnectionProtocol, self).dataReceived(data) try:
super(AMPMultiConnectionProtocol, self).dataReceived(data)
except KeyError:
_LOGGER.trace("Discarded incoming partial data: {}".format(to_str(data)))
elif self.multibatches: elif self.multibatches:
# invalid AMP, but we have a pending multi-batch that is not yet complete # invalid AMP, but we have a pending multi-batch that is not yet complete
if data[-2:] == NULNUL: if data[-2:] == NULNUL:
# end of existing multibatch # end of existing multibatch
self.multibatches = max(0, self.multibatches - 1) self.multibatches = max(0, self.multibatches - 1)
super(AMPMultiConnectionProtocol, self).dataReceived(data) try:
super(AMPMultiConnectionProtocol, self).dataReceived(data)
except KeyError:
_LOGGER.trace("Discarded incoming multi-batch data:".format(to_str(data)))
else: else:
# not an AMP communication, return warning # not an AMP communication, return warning
self.transport.write(_HTTP_WARNING) self.transport.write(_HTTP_WARNING)