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:
# an incomplete AMP box means more batches are forthcoming.
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:
# invalid AMP, but we have a pending multi-batch that is not yet complete
if data[-2:] == NULNUL:
# end of existing multibatch
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:
# not an AMP communication, return warning
self.transport.write(_HTTP_WARNING)