server.send() should be sync and return a Future - no nead for double await

This commit is contained in:
jesopo 2020-04-05 23:54:57 +01:00
parent 899d4821f0
commit 730fef38f3
2 changed files with 9 additions and 9 deletions

View file

@ -42,9 +42,9 @@ class IServer(Server):
params: ConnectionParams
desired_caps: Set[ICapability]
async def send_raw(self, line: str, priority=SendPriority.DEFAULT):
def send_raw(self, line: str, priority=SendPriority.DEFAULT) -> Future:
pass
async def send(self, line: Line, priority=SendPriority.DEFAULT):
def send(self, line: Line, priority=SendPriority.DEFAULT) -> Future:
pass
def wait_for(self, response: IMatchResponse) -> Awaitable[Line]:

View file

@ -37,12 +37,12 @@ class Server(IServer):
self._read_queue: Deque[Tuple[Line, List[Emit]]] = deque()
async def send_raw(self, line: str, priority=SendPriority.DEFAULT
def send_raw(self, line: str, priority=SendPriority.DEFAULT
) -> Future:
return await self.send(tokenise(line), priority)
async def send(self, line: Line, priority=SendPriority.DEFAULT) -> Future:
return self.send(tokenise(line), priority)
def send(self, line: Line, priority=SendPriority.DEFAULT) -> Future:
prio_line = SentLine(priority, line)
await self._write_queue.put(prio_line)
self._write_queue.put_nowait(prio_line)
return prio_line.future
def set_throttle(self, rate: int, time: float):
@ -71,9 +71,9 @@ class Server(IServer):
username = self.params.username or nickname
realname = self.params.realname or nickname
await self.send(build("CAP", ["LS", "302"]))
await self.send(build("NICK", [nickname]))
await self.send(build("USER", [username, "0", "*", realname]))
self.send(build("CAP", ["LS", "302"]))
self.send(build("NICK", [nickname]))
self.send(build("USER", [username, "0", "*", realname]))
async def _on_read_emit(self, line: Line, emit: Emit):
if emit.command == "001":