FilterDataPair InnerMatch(MessageBuffer messageBuffer) { List <FilterDataPair> pairs = new List <FilterDataPair>(); table.GetMatchingValues(messageBuffer, pairs); FilterDataPair pair = null; for (int i = 0; i < pairs.Count; ++i) { if (pairs[i].filter.Filter2.Match(messageBuffer)) { if (pair != null) { Collection <MessageFilter> matches = new Collection <MessageFilter>(); matches.Add(pair.filter); matches.Add(pairs[i].filter); throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new MultipleFilterMatchesException(SR.FilterMultipleMatches, null, matches)); } pair = pairs[i]; } } return(pair); }
private FilterDataPair InnerMatch(Message message) { List <FilterDataPair> pairs = new List <FilterDataPair>(); _table.GetMatchingValues(message, pairs); FilterDataPair pair = null; for (int i = 0; i < pairs.Count; ++i) { if (pairs[i]._filter.Filter2.Match(message)) { if (pair != null) { Collection <MessageFilter> matches = new Collection <MessageFilter> { pair._filter, pairs[i]._filter }; throw TraceUtility.ThrowHelperError(new MultipleFilterMatchesException(SR.FilterMultipleMatches, null, matches), message); } pair = pairs[i]; } } return(pair); }
internal bool GetMatchingValue(Message message, out FilterData data, out bool addressMatched) { if (message == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("message"); } List <FilterDataPair <FilterData> > results = new List <FilterDataPair <FilterData> >(); addressMatched = this.table.GetMatchingValues(message, results); FilterDataPair <FilterData> pair = null; for (int i = 0; i < results.Count; i++) { if (results[i].filter.Filter2.Match(message)) { if (pair != null) { Collection <MessageFilter> filters = new Collection <MessageFilter> { pair.filter, results[i].filter }; throw TraceUtility.ThrowHelperError(new MultipleFilterMatchesException(System.ServiceModel.SR.GetString("FilterMultipleMatches"), null, filters), message); } pair = results[i]; } } if (pair == null) { data = default(FilterData); return(false); } data = pair.data; return(true); }
public void Add(AndMessageFilter filter, FilterData data) { if (filter == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("filter"); } this.filters.Add(filter, data); FilterDataPair <FilterData> pair = new FilterDataPair <FilterData>(filter, data); this.filterData.Add(filter, pair); this.table.Add(filter.Filter1, pair); }
public void Add(AndMessageFilter filter, FilterData data) { if (filter == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(filter)); } filters.Add(filter, data); FilterDataPair pair = new FilterDataPair(filter, data); filterData.Add(filter, pair); table.Add(filter.Filter1, pair); }
public bool GetMatchingFilter(Message message, out MessageFilter filter) { if (message == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("message"); } FilterDataPair <FilterData> pair = this.InnerMatch(message); if (pair == null) { filter = null; return(false); } filter = pair.filter; return(true); }
public bool GetMatchingValue(MessageBuffer messageBuffer, out FilterData data) { if (messageBuffer == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("messageBuffer"); } FilterDataPair <FilterData> pair = this.InnerMatch(messageBuffer); if (pair == null) { data = default(FilterData); return(false); } data = pair.data; return(true); }
public bool GetMatchingFilter(MessageBuffer messageBuffer, out MessageFilter filter) { if (messageBuffer == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(messageBuffer)); } FilterDataPair pair = InnerMatch(messageBuffer); if (pair == null) { filter = null; return(false); } filter = pair.filter; return(true); }
public bool GetMatchingValue(Message message, out FilterData data) { if (message == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(message)); } FilterDataPair pair = InnerMatch(message); if (pair == null) { data = default(FilterData); return(false); } data = pair.data; return(true); }
internal bool GetMatchingValue(Message message, out FilterData data, out bool addressMatched) { if (message == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(message)); } List <FilterDataPair> pairs = new List <FilterDataPair>(); addressMatched = _table.GetMatchingValues(message, pairs); FilterDataPair pair = null; for (int i = 0; i < pairs.Count; ++i) { if (pairs[i]._filter.Filter2.Match(message)) { if (pair != null) { Collection <MessageFilter> matches = new Collection <MessageFilter> { pair._filter, pairs[i]._filter }; throw TraceUtility.ThrowHelperError(new MultipleFilterMatchesException(SR.FilterMultipleMatches, null, matches), message); } pair = pairs[i]; } } if (pair == null) { data = default; return(false); } data = pair._data; return(true); }
private FilterDataPair <FilterData> InnerMatch(MessageBuffer messageBuffer) { List <FilterDataPair <FilterData> > results = new List <FilterDataPair <FilterData> >(); this.table.GetMatchingValues(messageBuffer, results); FilterDataPair <FilterData> pair = null; for (int i = 0; i < results.Count; i++) { if (results[i].filter.Filter2.Match(messageBuffer)) { if (pair != null) { Collection <MessageFilter> filters = new Collection <MessageFilter> { pair.filter, results[i].filter }; throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new MultipleFilterMatchesException(System.ServiceModel.SR.GetString("FilterMultipleMatches"), null, filters)); } pair = results[i]; } } return(pair); }