From aeb953738a87ea243b21b2cd272cfda6d343d3a7 Mon Sep 17 00:00:00 2001 From: David Wilson Date: Wed, 10 Aug 2016 21:32:47 +0100 Subject: [PATCH] Fix reception of multiple frames in one read(). --- econtext/core.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/econtext/core.py b/econtext/core.py index a4d91cad..2a45f53d 100644 --- a/econtext/core.py +++ b/econtext/core.py @@ -306,9 +306,10 @@ class Stream(BasicStream): return self.Disconnect() self._input_buf += buf - if len(self._input_buf) < 24: - return + while len(self._input_buf) >= 24: + self._ReceiveOne() + def _ReceiveOne(self): msg_mac = self._input_buf[:20] msg_len = struct.unpack('>L', self._input_buf[20:24])[0] if len(self._input_buf) < msg_len-24: