INNER CODE UNIT · Python
release
ImFeH2/huddol · core/src/fora/adapters/websocket/server.py:205
def release(self, frame: OutgoingFrame) -> None:
if frame.completion is None:
with self.lock:
self.frames -= 1
self.used -= frame.cost
async def send(self, connection: web.WebSocketResponse) -> None:
while (frame := await self.take()) is not None:
try:
await connection.send_str(frame.text)
if frame.completion is not None:
self.complete(frame.completion)
finally:
frame.text = ""
self.release(frame)
del frame
def close(self) -> None: