Separate and tested web_socket_manager

This commit is contained in:
2024-11-03 22:26:12 +01:00
parent 4bd497e1ca
commit e243c6ac3b
11 changed files with 433 additions and 776 deletions

View File

@@ -10,30 +10,16 @@ class WebIOBuffer(IOBuffer):
def __init__(self):
self._stdin_buffer = ""
self._stdout_buffer = ""
self._lock = Lock()
def append_stdin(self, content: str) -> None:
"""Thread-safe append to stdin buffer."""
if not content:
return
with self._lock:
self._stdin_buffer += content
def read(self) -> str:
"""Thread-safe read from stdin buffer."""
with self._lock:
content = self._stdin_buffer
self._stdin_buffer = ""
return content
content = self._stdin_buffer
self._stdin_buffer = ""
return content
def write(self, content: str) -> None:
"""Thread-safe write to stdout buffer."""
if not content:
return
with self._lock:
self._stdout_buffer += content
self._stdout_buffer += content
def buffer_length(self) -> int:
"""
@@ -51,20 +37,12 @@ class WebIOBuffer(IOBuffer):
Args:
content: String content to append to the stdin buffer
"""
if content:
self._stdin_buffer += content
self._stdin_buffer += content
def get_stdout(self) -> str:
"""Thread-safe get stdout content."""
with self._lock:
return self._stdout_buffer
return self._stdout_buffer
def clear_stdout(self) -> None:
"""Thread-safe clear stdout buffer."""
with self._lock:
self._stdout_buffer = ""
def buffer_length(self) -> int:
"""Thread-safe get stdin buffer length."""
with self._lock:
return len(self._stdin_buffer)
self._stdout_buffer = ""