(self)
| 1165 | |
| 1166 | @defunct_on_error |
| 1167 | def _read_frame_header(self): |
| 1168 | buf = self._io_buffer.cql_frame_buffer.getvalue() |
| 1169 | pos = len(buf) |
| 1170 | if pos: |
| 1171 | version = buf[0] & PROTOCOL_VERSION_MASK |
| 1172 | if version not in ProtocolVersion.SUPPORTED_VERSIONS: |
| 1173 | raise ProtocolError("This version of the driver does not support protocol version %d" % version) |
| 1174 | frame_header = frame_header_v3 if version >= 3 else frame_header_v1_v2 |
| 1175 | # this frame header struct is everything after the version byte |
| 1176 | header_size = frame_header.size + 1 |
| 1177 | if pos >= header_size: |
| 1178 | flags, stream, op, body_len = frame_header.unpack_from(buf, 1) |
| 1179 | if body_len < 0: |
| 1180 | raise ProtocolError("Received negative body length: %r" % body_len) |
| 1181 | self._current_frame = _Frame(version, flags, stream, op, header_size, body_len + header_size) |
| 1182 | return pos |
| 1183 | |
| 1184 | @defunct_on_error |
| 1185 | def _process_segment_buffer(self): |
no test coverage detected