def receive(self): buf = [self.transport.readBytes(sniff_len)] if not buf[0]: raise WatchmanError("empty watchman response") _1, _2, elen = bser.pdu_info(buf[0]) rlen = len(buf[0]) while elen > rlen: buf.append(self.transport.readBytes(elen - rlen)) rlen += len(buf[-1]) response = b"".join(buf) try: res = self._loads(response) return res except ValueError as e: raise WatchmanError("watchman response decode error: %s" % e)
def receive(self): buf = [self.transport.readBytes(sniff_len)] if not buf[0]: raise WatchmanError("empty watchman response") recv_bser_version, recv_bser_capabilities, elen = bser.pdu_info(buf[0]) if hasattr(self, "bser_version"): # Readjust BSER version and capabilities if necessary self.bser_version = max(self.bser_version, recv_bser_version) self.capabilities = self.bser_capabilities & recv_bser_capabilities rlen = len(buf[0]) while elen > rlen: buf.append(self.transport.readBytes(elen - rlen)) rlen += len(buf[-1]) response = b"".join(buf) try: res = self._loads(response) return res except ValueError as e: raise WatchmanError("watchman response decode error: %s" % e)