Add *_into API for streaming encode/decode

This commit is contained in:
Kovid Goyal
2024-07-30 07:18:33 +05:30
parent 8d36677d41
commit e97c225b6c
6 changed files with 52 additions and 27 deletions

View File

@@ -1,14 +1,13 @@
from typing import Callable, Union
ReadOnlyBuffer = Union[bytes, bytearray, memoryview]
WriteBuffer = Union[bytearray, memoryview]
from kitty.typing import ReadableBuffer, WriteableBuffer
class RsyncError(Exception):
pass
class Hasher:
def __init__(self, which: str, data: ReadOnlyBuffer = b''): ...
def update(self, data: ReadOnlyBuffer) -> None: ...
def __init__(self, which: str, data: ReadableBuffer = b''): ...
def update(self, data: ReadableBuffer) -> None: ...
def reset(self) -> None: ...
def digest(self) -> bytes: ...
def hexdigest(self) -> str: ...
@@ -20,16 +19,16 @@ class Hasher:
@property
def name(self) -> str: ...
def xxh128_hash(data: ReadOnlyBuffer) -> bytes: ...
def xxh128_hash_with_seed(data: ReadOnlyBuffer, seed: int) -> bytes: ...
def xxh128_hash(data: ReadableBuffer) -> bytes: ...
def xxh128_hash_with_seed(data: ReadableBuffer, seed: int) -> bytes: ...
class Patcher:
def __init__(self, expected_input_size: int = 0): ...
def signature_header(self, output: WriteBuffer) -> int: ...
def sign_block(self, block: ReadOnlyBuffer, output: WriteBuffer) -> int: ...
def apply_delta_data(self, data: ReadOnlyBuffer, read: Callable[[int, WriteBuffer], int], write: Callable[[ReadOnlyBuffer], None]) -> None: ...
def signature_header(self, output: WriteableBuffer) -> int: ...
def sign_block(self, block: ReadableBuffer, output: WriteableBuffer) -> int: ...
def apply_delta_data(self, data: ReadableBuffer, read: Callable[[int, WriteableBuffer], int], write: Callable[[ReadableBuffer], None]) -> None: ...
def finish_delta_data(self) -> None: ...
@property
@@ -40,9 +39,9 @@ class Patcher:
class Differ:
def add_signature_data(self, data: ReadOnlyBuffer) -> None: ...
def add_signature_data(self, data: ReadableBuffer) -> None: ...
def finish_signature_data(self) -> None: ...
def next_op(self, read: Callable[[WriteBuffer], int], write: Callable[[ReadOnlyBuffer], None]) -> bool: ...
def next_op(self, read: Callable[[WriteableBuffer], int], write: Callable[[ReadableBuffer], None]) -> bool: ...
def parse_ftc(x: Union[str, ReadOnlyBuffer], callback: Callable[[memoryview, memoryview], None]) -> None: ...
def parse_ftc(x: Union[str, ReadableBuffer], callback: Callable[[memoryview, memoryview], None]) -> None: ...