protected void processStatuses()
 {
     socketStatuses.popAll(localSocketStatuses);
     for (int i = 0; i < localSocketStatuses.Count; ++i)
     {
         EzySocketStatus status = localSocketStatuses[i];
         if (status == EzySocketStatus.CONNECTED)
         {
             EzyEvent evt = new EzyConnectionSuccessEvent();
             socketEventQueue.addEvent(evt);
         }
         else if (status == EzySocketStatus.CONNECT_FAILED)
         {
             EzyEvent evt = new EzyConnectionFailureEvent(connectionFailedReason);
             socketEventQueue.addEvent(evt);
             break;
         }
         else if (status == EzySocketStatus.DISCONNECTED)
         {
             EzyEvent evt = new EzyDisconnectionEvent(disconnectReason);
             socketEventQueue.addEvent(evt);
             break;
         }
     }
     localSocketStatuses.Clear();
 }
            public void handle(EzySocketStatusEvent evt)
            {
                int status = evt.getSocketStatus();

                switch (status)
                {
                case CONNECTED:
                    EzyConnectionSuccessEvent hevent = new EzyConnectionSuccessEvent();
                    eventHandlers.handleEvent(hevent);
                    break;

                default:
                    break;
                }
            }