async def METHOD_NAME(
        self,
        readables: Readables,
        writables: Writables,
) -> bool:
    # Handle client events
    do_shutdown: bool = await super().METHOD_NAME(readables, writables)
    if do_shutdown:
        return do_shutdown
    # Handle server events
    if self.upstream and self.upstream.connection.fileno() in readables:
        data = self.upstream.recv(self.flags.server_recvbuf_size)
        if data is None:
            # Server closed connection
            logger.debug('Connection closed by server')
            return True
        # tunnel data to client
        self.work.queue(data)
    if self.upstream and self.upstream.connection.fileno() in writables:
        self.upstream.flush(self.flags.max_sendbuf_size)
    return False