code: def transaction_begin(self, **kwargs):
          
          self.__transaction_id += 1
          self.__transactions.add(self.__transaction_id)
          self.log.debug("Starting transaction with ID %d", self.__subscription_id)
          self._transaction_begin(self.__transaction_id, **kwargs)
          return self.__transaction_id
docs: Start a new transaction.
          :param **kwargs: Further parameters for the transport layer. For example
          :return: A transaction ID that can be passed to other functions.