protected override bool TryDequeuePushMessage(out PersistentConnectionResponseData data)
 {
     if (_PushMessages.Count > 0)
     {
         data = _PushMessages.Dequeue();
         return(true);
     }
     else
     {
         data = default(PersistentConnectionResponseData);
         return(false);
     }
 }
 protected override void EnqueuePushMessage(PersistentConnectionResponseData data)
 {
     _PushMessages.Enqueue(data);
 }
 protected override bool TryDequeuePushMessage(out PersistentConnectionResponseData data)
 {
     return(_PushMessages.TryDequeue(out data));
 }
        public object GetMessage()
        {
            PersistentConnectionResponseData message = GetMessageInfo();

            return(message.Result);
        }
 protected abstract bool TryDequeuePushMessage(out PersistentConnectionResponseData data);
 protected abstract void EnqueuePushMessage(PersistentConnectionResponseData data);