MCPcopy Create free account
hub / github.com/apache/cassandra-python-driver / encode_header

Method encode_header

cassandra/segment.py:129–145  ·  view source on GitHub ↗
(self, buffer, payload_length, uncompressed_length, is_self_contained)

Source from the content-addressed store, hash-verified

127 return self.decompressor(int32_pack(uncompressed_length) + encoded_data)
128
129 def encode_header(self, buffer, payload_length, uncompressed_length, is_self_contained):
130 if payload_length > Segment.MAX_PAYLOAD_LENGTH:
131 raise DriverException('Payload length exceed Segment.MAX_PAYLOAD_LENGTH')
132
133 header_data = payload_length
134
135 flag_offset = self.FLAG_OFFSET
136 if self.compression:
137 header_data |= uncompressed_length << flag_offset
138 flag_offset += 17
139
140 if is_self_contained:
141 header_data |= 1 << flag_offset
142
143 write_uint_le(buffer, header_data, size=self.header_length)
144 header_crc = compute_crc24(header_data, self.header_length)
145 write_uint_le(buffer, header_crc, size=CRC24_LENGTH)
146
147 def _encode_segment(self, buffer, payload, is_self_contained):
148 """

Calls 3

DriverExceptionClass · 0.90
write_uint_leFunction · 0.90
compute_crc24Function · 0.85