Example #1
0
    def dataReceived(self, data):
        self.buffer += data

        if not self.hello_received:
            try:
                resp, self.buffer = parse.parse_start(self.buffer, first=True)
            except parse.NotReadyError:
                return # Haven't received enough data yet
            self.hello_received = True
            self.size = resp.size
            self.event_sink.response(resp)
        try:
            while True:
                resp, self.buffer = parse.parse_start(self.buffer, self.size)
                self.event_sink.response(resp)
        except parse.NotReadyError:
            return