def start(queue = nil)
      queue.nil? and queue = @queue
      logger.debug("Dispatcher starts")
      @thread = Thread.new {
        while continue
          logger.debug("Dispatcher waiting for a message from the Listener")
          event = queue.get
          @counter = @counter + 1
          logger.debug "---------------------------------"
          logger.debug "#{self.class} => #{event}"

          if event.is_a?(Array)
            event.each { |ev|
              set_channels!(ev)
              process_message(ev)
            }
          else
            set_channels!(event)
            process_message(event)
          end

        end
      }
    end
def start(queue = nil)
      queue.nil? and queue = @queue
      logger.debug("Dispatcher starts")
      @thread = Thread.new {
        while continue
          logger.debug("Dispatcher waiting for a message from the Listener")
          event = queue.get
          @counter = @counter + 1
          logger.debug "---------------------------------"
          logger.debug "#{self.class} => #{event}"

          if event.is_a?(Array)
            event.each { |ev|
              set_channels!(ev)
              process_message(ev)
            }
          else
            set_channels!(event)
            process_message(event)
          end

        end
      }
    end
Initializer

 ==== Parameters
 * +queue+ Connfu::Events instance to wait for incoming Message events
 * +listener_channels+ Hash of listener_channels.
   * :key => channel name (valid ListenerChannel::CHANNEL_TYPES)
   * :value => ListenerChannel instance
 * +app_channels+ information about application channels to set the channel_name associated to an inbound event

 start waiting for incoming Message.
 Should create a new thread and wait to new events to come
 ==== Parameters
 * +queue+ optional Connfu::Events instance to wait for incoming Message events. If nil, the value got in the initializer is used