def start_publishing(self):
        """This method will enable delivery confirmations and schedule the
        first message to be sent to RabbitMQ

        """

        self.lg("Queue Binding(" + str(self.m_active_bindings) + "/" + str(len(self.m_bindings)) + ") Done", 6)

        # Make sure to wait for all Queue Bindings to finish before the message simulation publishing starts
        # If the Queues are not bound with the correct Routing Key, then certain Exchanges will have no routing
        # option for certain test messages (Topic Exchanges will drop messages)
        #
        # Allow shortcircuiting if there are no Exchanges, Queues, or Bindings to create
        #
        if self.m_active_bindings >= len(self.m_bindings) or self.m_only_publishing:
            self.lg("Starting RPC Commands for Simulation", 6)
            self.enable_delivery_confirmations()
            self.schedule_next_message()
        # end of checking that the bindings are ALL done before starting

    # end of start_publishing
dataset/ETHPy150Open GetLevvel/message-simulator/src/rabbit_message_publisher.py/RabbitMessagePublisher.start_publishing/original