def reverse(self, remote: str, local: str, norebind: bool = False):
        """
        Args:
            serial (str): device serial
            remote, local (str):
                - tcp:<port>
                - localabstract:<unix domain socket name>
                - localreserved:<unix domain socket name>
                - localfilesystem:<unix domain socket name>
            norebind (bool): fail if already reversed when set to true

        Raises:
            AdbError
        """
        with self.open_transport() as c:
            args = ["reverse:forward"]
            if norebind:
                args.append("norebind")
            args.append(remote + ";" + local)
            c.send_command(":".join(args))
            c.check_okay() # this OKAY means message was received
            c.check_okay() # check reponse

        Args:
            serial (str): device serial
            remote, local (str):
                - tcp:<port>
                - localabstract:<unix domain socket name>
                - localreserved:<unix domain socket name>
                - localfilesystem:<unix domain socket name>
            norebind (bool): fail if already reversed when set to true

        Raises:
            AdbError
        
adbutils/_device_base.py