MCPcopy Index your code
hub / github.com/apache/fory / write

Method write

python/pyfory/_serializer.py:521–553  ·  view source on GitHub ↗
(self, write_context, value: slice)

Source from the content-addressed store, hash-verified

519 """Pure-Python slice serializer used when Cython serialization is disabled."""
520
521 def write(self, write_context, value: slice):
522 buffer = write_context.buffer
523 start, stop, step = value.start, value.stop, value.step
524 if type(start) is int:
525 # TODO support varint128
526 buffer.write_int16(NOT_NULL_INT64_FLAG)
527 buffer.write_varint64(start)
528 else:
529 if start is None:
530 buffer.write_int8(NULL_FLAG)
531 else:
532 buffer.write_int8(NOT_NULL_VALUE_FLAG)
533 write_context.write_no_ref(start)
534 if type(stop) is int:
535 # TODO support varint128
536 buffer.write_int16(NOT_NULL_INT64_FLAG)
537 buffer.write_varint64(stop)
538 else:
539 if stop is None:
540 buffer.write_int8(NULL_FLAG)
541 else:
542 buffer.write_int8(NOT_NULL_VALUE_FLAG)
543 write_context.write_no_ref(stop)
544 if type(step) is int:
545 # TODO support varint128
546 buffer.write_int16(NOT_NULL_INT64_FLAG)
547 buffer.write_varint64(step)
548 else:
549 if step is None:
550 buffer.write_int8(NULL_FLAG)
551 else:
552 buffer.write_int8(NOT_NULL_VALUE_FLAG)
553 write_context.write_no_ref(step)
554
555 def read(self, read_context):
556 buffer = read_context.buffer

Callers

nothing calls this directly

Calls 4

write_varint64Method · 0.80
write_no_refMethod · 0.80
write_int16Method · 0.45
write_int8Method · 0.45

Tested by

no test coverage detected