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

Method _encode_segment

cassandra/segment.py:147–168  ·  view source on GitHub ↗

Encode a message to a single segment.

(self, buffer, payload, is_self_contained)

Source from the content-addressed store, hash-verified

145 write_uint_le(buffer, header_crc, size=CRC24_LENGTH)
146
147 def _encode_segment(self, buffer, payload, is_self_contained):
148 """
149 Encode a message to a single segment.
150 """
151 uncompressed_payload = payload
152 uncompressed_payload_length = len(payload)
153
154 if self.compression:
155 compressed_payload = self.compress(uncompressed_payload)
156 if len(compressed_payload) >= uncompressed_payload_length:
157 encoded_payload = uncompressed_payload
158 uncompressed_payload_length = 0
159 else:
160 encoded_payload = compressed_payload
161 else:
162 encoded_payload = uncompressed_payload
163
164 payload_length = len(encoded_payload)
165 self.encode_header(buffer, payload_length, uncompressed_payload_length, is_self_contained)
166 payload_crc = compute_crc32(encoded_payload, CRC32_INITIAL)
167 buffer.write(encoded_payload)
168 write_uint_le(buffer, payload_crc)
169
170 def encode(self, buffer, msg):
171 """

Callers 1

encodeMethod · 0.95

Calls 4

compressMethod · 0.95
encode_headerMethod · 0.95
write_uint_leFunction · 0.90
compute_crc32Function · 0.85

Tested by

no test coverage detected