// 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 }); } }
// 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); }
// 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()); }
public PendingRequestChannel(PendingRequestManager pendingRequestManager, string channelId) { this.pendingRequestManager = pendingRequestManager; this.channelId = channelId; this.notificationMark = 0L; }