// Token: 0x06000A94 RID: 2708 RVA: 0x000244A8 File Offset: 0x000226A8
 private void LogPayloadNotPickedEvent()
 {
     if (!this.isOverMaxSize)
     {
         this.isOverMaxSize = true;
         string uriForUser = this.GetUriForUser();
         ExTraceGlobals.InstantMessagingTracer.TraceError((long)this.GetHashCode(), "InstantMessageNotifier.LogPayloadNotPickedEvent. Payload has grown too large without being picked up. User: {0}", new object[]
         {
             uriForUser
         });
         OwaDiagnostics.LogEvent(ClientsEventLogConstants.Tuple_PayloadNotBeingPickedup, string.Empty, new object[]
         {
             this.GetUriForUser()
         });
         PendingRequestManager pendingRequestManager = base.UserContext.PendingRequestManager;
         if (pendingRequestManager != null && pendingRequestManager.HasAnyActivePendingGetChannel())
         {
             InstantMessageUtilities.SendWatsonReport("InstantMessageNotifier.LogPayloadNotPickedEvent", (IUserContext)base.UserContext, new OverflowException(string.Format("Payload has grown too large without being picked up. User: {0}", uriForUser)));
         }
         this.Cancel();
         this.Add(new InstantMessagePayload(InstantMessagePayloadType.ServiceUnavailable)
         {
             ServiceError = InstantMessageServiceError.OverMaxPayloadSize
         });
     }
 }
Exemple #2
0
        // Token: 0x06000FF8 RID: 4088 RVA: 0x0003D620 File Offset: 0x0003B820
        public PendingRequestManager GetPendingGetManager(string channelId)
        {
            PendingRequestManager result = null;

            this.channelIdChannelsMapping.TryGetValue(channelId, out result);
            return(result);
        }
Exemple #3
0
 // Token: 0x06000FF6 RID: 4086 RVA: 0x0003D580 File Offset: 0x0003B780
 public void AddPendingGetChannel(string channelId, PendingRequestManager pendingRequestManager)
 {
     lock (this.syncRoot)
     {
         if (!this.channelIdChannelsMapping.ContainsKey(channelId))
         {
             this.channelIdChannelsMapping.Add(channelId, pendingRequestManager);
         }
     }
 }
        // Token: 0x06000FFC RID: 4092 RVA: 0x0003D678 File Offset: 0x0003B878
        internal string[] DeliverRemoteNotification(IEnumerable <string> channelIds, RemoteNotificationPayload remoteNotificationPayload)
        {
            List <string> list = new List <string>();
            Dictionary <PendingRequestManager, bool> dictionary = new Dictionary <PendingRequestManager, bool>();

            foreach (string text in channelIds)
            {
                PendingRequestManager pendingGetManager = this.listenerChannelsManager.GetPendingGetManager(text);
                if (pendingGetManager == null)
                {
                    list.Add(text);
                }
                else if (!dictionary.ContainsKey(pendingGetManager))
                {
                    pendingGetManager.GetRemoteNotifier.AddRemoteNotificationPayload(remoteNotificationPayload);
                    pendingGetManager.GetRemoteNotifier.PickupData();
                    dictionary.Add(pendingGetManager, true);
                }
            }
            return(list.ToArray());
        }
Exemple #5
0
 public PendingRequestChannel(PendingRequestManager pendingRequestManager, string channelId)
 {
     this.pendingRequestManager = pendingRequestManager;
     this.channelId             = channelId;
     this.notificationMark      = 0L;
 }