mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-08 21:14:48 +08:00
85 lines
2.6 KiB
Python
85 lines
2.6 KiB
Python
import pickle
|
|
import sys
|
|
from abc import ABCMeta
|
|
from copyreg import _DispatchTableType
|
|
from typing import Any
|
|
from typing_extensions import Literal
|
|
|
|
if sys.platform == "win32":
|
|
__all__ = ["send_handle", "recv_handle", "ForkingPickler", "register", "dump", "DupHandle", "duplicate", "steal_handle"]
|
|
else:
|
|
__all__ = ["send_handle", "recv_handle", "ForkingPickler", "register", "dump", "DupFd", "sendfds", "recvfds"]
|
|
|
|
class ForkingPickler(pickle.Pickler):
|
|
dispatch_table: _DispatchTableType
|
|
def __init__(self, *args) -> None: ...
|
|
@classmethod
|
|
def register(cls, type, reduce) -> None: ...
|
|
@classmethod
|
|
def dumps(cls, obj, protocol: Any | None = ...): ...
|
|
loads = pickle.loads
|
|
|
|
register = ForkingPickler.register
|
|
|
|
def dump(obj, file, protocol: Any | None = ...) -> None: ...
|
|
|
|
if sys.platform == "win32":
|
|
if sys.version_info >= (3, 8):
|
|
def duplicate(handle, target_process: Any | None = ..., inheritable: bool = ..., *, source_process: Any | None = ...): ...
|
|
else:
|
|
def duplicate(handle, target_process: Any | None = ..., inheritable: bool = ...): ...
|
|
|
|
def steal_handle(source_pid, handle): ...
|
|
def send_handle(conn, handle, destination_pid) -> None: ...
|
|
def recv_handle(conn): ...
|
|
|
|
class DupHandle:
|
|
def __init__(self, handle, access, pid: Any | None = ...) -> None: ...
|
|
def detach(self): ...
|
|
|
|
else:
|
|
if sys.platform == "darwin":
|
|
ACKNOWLEDGE: Literal[True]
|
|
else:
|
|
ACKNOWLEDGE: Literal[False]
|
|
|
|
def recvfds(sock, size): ...
|
|
def send_handle(conn, handle, destination_pid) -> None: ...
|
|
def recv_handle(conn) -> None: ...
|
|
def sendfds(sock, fds) -> None: ...
|
|
def DupFd(fd): ...
|
|
|
|
# These aliases are to work around pyright complaints.
|
|
# Pyright doesn't like it when a class object is defined as an alias
|
|
# of a global object with the same name.
|
|
_ForkingPickler = ForkingPickler
|
|
_register = register
|
|
_dump = dump
|
|
_send_handle = send_handle
|
|
_recv_handle = recv_handle
|
|
|
|
if sys.platform == "win32":
|
|
_steal_handle = steal_handle
|
|
_duplicate = duplicate
|
|
_DupHandle = DupHandle
|
|
else:
|
|
_sendfds = sendfds
|
|
_recvfds = recvfds
|
|
_DupFd = DupFd
|
|
|
|
class AbstractReducer(metaclass=ABCMeta):
|
|
ForkingPickler = _ForkingPickler
|
|
register = _register
|
|
dump = _dump
|
|
send_handle = _send_handle
|
|
recv_handle = _recv_handle
|
|
if sys.platform == "win32":
|
|
steal_handle = _steal_handle
|
|
duplicate = _duplicate
|
|
DupHandle = _DupHandle
|
|
else:
|
|
sendfds = _sendfds
|
|
recvfds = _recvfds
|
|
DupFd = _DupFd
|
|
def __init__(self, *args) -> None: ...
|