/**
  * Listen is spawned by a thread in the Connect() method. It remains
  * in a loop receiving data as the connection is alive.
  *
  * @see Esc.StateListener.Connect
  */
 private void Listen()
 {
     while (connected)
     {
         try {
             OscPacket packet = receiver.Receive();
             if (null != packet)
             {
                 //	UnityMainThreadDispatcher.Instance ().Enqueue (ExsecuteOnMainThread_TimeCheck ());
                 lock (processQueue) {
                     if (packet.IsBundle())
                     {
                         ArrayList messages = packet.Values;
                         for (int i = 0; i < messages.Count; i++)
                         {
                             processQueue.Add((OscMessage)messages [i]);
                         }
                     }
                     else
                     {
                         processQueue.Add((OscMessage)packet);
                     }
                 }
             }
         } catch (Exception e) {
             Debug.LogError(e.Message);
         }
     }
 }