|
13 | 13 | import sys |
14 | 14 | import tempfile |
15 | 15 | from abc import abstractmethod |
16 | | -from collections.abc import Callable |
| 16 | +from collections.abc import Callable, Sequence |
17 | 17 | from select import select |
18 | 18 | from types import TracebackType |
19 | | -from typing import Final, Sequence |
| 19 | +from typing import Final |
20 | 20 | from typing_extensions import Self |
21 | 21 |
|
22 | 22 | from librt.base64 import urlsafe_b64encode |
@@ -219,6 +219,10 @@ def __init__(self, name: str, timeout: float | None) -> None: |
219 | 219 | ) |
220 | 220 | else: |
221 | 221 | self.connection = socket.socket(socket.AF_UNIX) |
| 222 | + # This is already default on Linux, we set same buffer size |
| 223 | + # for macOS vs Linux consistency to simplify reasoning. |
| 224 | + self.connection.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, MAX_READ) |
| 225 | + self.connection.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, MAX_READ) |
222 | 226 | self.connection.settimeout(timeout) |
223 | 227 | self.connection.connect(name) |
224 | 228 |
|
@@ -295,6 +299,10 @@ def __enter__(self) -> IPCServer: |
295 | 299 | else: |
296 | 300 | try: |
297 | 301 | self.connection, _ = self.sock.accept() |
| 302 | + # This is already default on Linux, we set same buffer size |
| 303 | + # for macOS vs Linux consistency to simplify reasoning. |
| 304 | + self.connection.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, MAX_READ) |
| 305 | + self.connection.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, MAX_READ) |
298 | 306 | except TimeoutError as e: |
299 | 307 | raise IPCException("The socket timed out") from e |
300 | 308 | return self |
|
0 commit comments