try something else
This commit is contained in:
parent
411527a2b2
commit
289116deb1
1 changed files with 10 additions and 3 deletions
13
server.py
13
server.py
|
@ -93,6 +93,9 @@ def process(frames: int) -> None:
|
|||
buf2[: len(piece2)] = piece2
|
||||
|
||||
|
||||
tasky_boi: Optional[asyncio.Task] = None
|
||||
|
||||
|
||||
class JackSender(object):
|
||||
resampler: Any
|
||||
|
||||
|
@ -335,7 +338,7 @@ print("Shittyserver WS starting on port {}.".format(config.get("ports", "websock
|
|||
async def telnet_server(
|
||||
reader: asyncio.StreamReader, writer: asyncio.StreamWriter
|
||||
) -> None:
|
||||
global active_sessions, live_session
|
||||
global active_sessions, live_session, tasky_boi
|
||||
while True:
|
||||
data = await reader.read(128)
|
||||
if not data:
|
||||
|
@ -367,6 +370,8 @@ async def telnet_server(
|
|||
if sid == "NUL":
|
||||
if live_session is not None:
|
||||
await live_session.end()
|
||||
if tasky_boi is not None:
|
||||
await tasky_boi.result()
|
||||
writer.write("OKAY\r\n".encode("utf-8"))
|
||||
else:
|
||||
writer.write("WONT\r\n".encode("utf-8"))
|
||||
|
@ -376,11 +381,13 @@ async def telnet_server(
|
|||
else:
|
||||
session = active_sessions[sid]
|
||||
if session is None:
|
||||
writer.write("FAIL\r\n".encode("utf-8"))
|
||||
writer.write("FAIL no_such_session\r\n".encode("utf-8"))
|
||||
elif live_session is not None and live_session.connection_id == sid:
|
||||
writer.write("WONT already_live\r\n".encode("utf-8"))
|
||||
else:
|
||||
if live_session is not None:
|
||||
await live_session.end()
|
||||
asyncio.ensure_future(session.activate())
|
||||
tasky_boi = asyncio.create_task(session.activate())
|
||||
live_session = session
|
||||
writer.write("OKAY\r\n".encode("utf-8"))
|
||||
else:
|
||||
|
|
Loading…
Reference in a new issue