async def METHOD_NAME(self, match: bytes) -> bytes:
    """
    Read data until match.
    Args:
        match: a sequence of bytes to match
        timeout: optional timeout in seconds. this is a temporary override
            of parameter supplied to `create`
    Returns:
        read data.
    """
    return await self._loop.run_in_executor(
        executor=self._executor,
        func=partial(self._serial.METHOD_NAME, expected=match),
    )