/// <summary> /// Clear the collection. /// </summary> internal void Clear() { this.DefaultCallback = null; lock (this.syncLock) { this.inboundStreamCallbacks.Clear(); } }
/// <summary> /// Add the callback to the collections. /// </summary> /// <param name="prefix">Prefix key for the callback</param> /// <param name="callback">Inbound stream callback</param> internal void AddCallbackByPrefix(Uri prefix, IInboundStreamCallback callback) { // Args Check prefix.ThrowIfNull("Prefix"); callback.ThrowIfNull("Callback"); if (!prefix.IsAbsoluteUri) { throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, SR.Error_InboundCallbacks_PrefixUri, prefix)); } // Add to the inboundStreamCallbacks collection. try { lock (this.syncLock) { this.inboundStreamCallbacks.Add(prefix, callback); } } catch (ArgumentException) { throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, SR.Error_InboundCallbacks_Prefix_AlreadyExists, prefix)); } }