当前位置: 首页>>代码示例>>C#>>正文


C# Filter.Match方法代码示例

本文整理汇总了C#中Filter.Match方法的典型用法代码示例。如果您正苦于以下问题:C# Filter.Match方法的具体用法?C# Filter.Match怎么用?C# Filter.Match使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Filter的用法示例。


在下文中一共展示了Filter.Match方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ReceiveMessages


//.........这里部分代码省略.........
                                }
                            }
                        }
                        if (!readingDeferredMessages)
                        {
                            readingDeferredMessages = inboundMessage == null && messageDeferProvider.Count > 0;
                        }

                        if (isCompleted ||
                            inboundMessage == null)
                        {
                            continue;
                        }
                        if (stopwatch.ElapsedMilliseconds > maximumReceiveTime)
                        {
                            maximumReceiveTime = stopwatch.ElapsedMilliseconds;
                        }
                        if (stopwatch.ElapsedMilliseconds < minimumReceiveTime)
                        {
                            minimumReceiveTime = stopwatch.ElapsedMilliseconds;
                        }
                        totalElapsedTime += stopwatch.ElapsedMilliseconds;
                        if (statistics)
                        {
                            updateStatistics(stopwatch.ElapsedMilliseconds, DirectionType.Receive);
                        }
                        builder = new StringBuilder();



                        if (defer &&
                            !readingDeferredMessages &&
                            filter != null &&
                            filter.Match(inboundMessage))
                        {
                            inboundMessage.Defer();
                            messageDeferProvider.Enqueue(inboundMessage.SequenceNumber);
                            deferredMessage = true;
                        }

                        if (!deferredMessage &&
                            moveToDeadLetterQueue &&
                            filter != null &&
                            filter.Match(inboundMessage))
                        {
                            inboundMessage.DeadLetter();
                            movedToDeadLetterQueue = true;
                            messagesReceived++;
                        }


                        if (!deferredMessage &&
                            !movedToDeadLetterQueue)
                        {
                            if (messageReceiver.Mode == ReceiveMode.PeekLock)
                            {
                                if (completeReceive)
                                {
                                    inboundMessage.Complete();
                                    messagesReceived++;
                                }
                                else
                                {
                                    inboundMessage.Abandon();
                                }
                            }
开发者ID:ssuing8825,项目名称:ServiceBusExplorer,代码行数:67,代码来源:ServiceBusHelper.cs

示例2: ReceiveMessages


//.........这里部分代码省略.........
                            {
                                if (messageReceiver.PrefetchCount > 0)
                                {
                                    if (stopwatch.ElapsedMilliseconds == 0)
                                    {
                                        fetchedMessages++;
                                    }
                                    else
                                    {
                                        if (fetchedMessages > 0)
                                        {
                                            updateStatistics(fetchedMessages,
                                                             prefetchElapsedTime,
                                                             DirectionType.Receive);
                                            fetchedMessages = 1;
                                        }
                                        else
                                        {
                                            fetchedMessages++;
                                        }
                                        prefetchElapsedTime = stopwatch.ElapsedMilliseconds;
                                    }
                                }
                                else
                                {
                                    updateStatistics(1, stopwatch.ElapsedMilliseconds, DirectionType.Receive);
                                }
                            }
                            builder = new StringBuilder();

                            if (defer &&
                                !readingDeferredMessages &&
                                filter != null &&
                                filter.Match(inboundMessage))
                            {
                                inboundMessage.Defer();
                                messageDeferProvider.Enqueue(inboundMessage.SequenceNumber);
                                deferredMessage = true;
                            }

                            if (!deferredMessage &&
                                moveToDeadLetterQueue &&
                                filter != null &&
                                filter.Match(inboundMessage))
                            {
                                inboundMessage.DeadLetter();
                                movedToDeadLetterQueue = true;
                                messagesReceived++;
                            }


                            if (!deferredMessage &&
                                !movedToDeadLetterQueue)
                            {
                                if (messageReceiver.Mode == ReceiveMode.PeekLock)
                                {
                                    if (completeReceive)
                                    {
                                        stopwatch = new Stopwatch();
                                        stopwatch.Start();
                                        inboundMessage.Complete();
                                        stopwatch.Stop();
                                        if (stopwatch.ElapsedMilliseconds > maximumCompleteTime)
                                        {
                                            maximumCompleteTime = stopwatch.ElapsedMilliseconds;
                                        }
开发者ID:abombss,项目名称:ServiceBusExplorer,代码行数:67,代码来源:ServiceBusHelper.cs

示例3: SearchAll

    static bool SearchAll(PuzzleState startPuzzle ,Filter goalFilter, Dictionary< ulong, List<RootState>> allRoots, Dictionary<ulong, PuzzleState> nextPuzzles, ulong keepOutMask = 0UL, int depth  = DEFAULT_DEPTH)
    {
        Dictionary<ulong, PuzzleState> currentStates = new Dictionary<ulong, PuzzleState>();
        Dictionary<ulong, PuzzleState> nextStates = new Dictionary< ulong, PuzzleState>();
        Dictionary<ulong, PuzzleState> tempSwapStates;
        Dictionary<ulong, ulong> rootData = new Dictionary< ulong, ulong>();
        bool flag = false;

        rootData[startPuzzle.data] = 0UL;
        currentStates[startPuzzle.data] = startPuzzle;

        for (int i = 1; i <= depth;i++) {
            nextStates.Clear();

            foreach (PuzzleState puzzle in currentStates.Values) {

                if (goalFilter.Match(puzzle)) {
                    Stack<int> stackRootNumbers = new Stack<int>();
                    ulong tempData  = puzzle.data;
                    ulong tempData2= rootData[tempData];
                    List<int> root = new List<int>();
                    while (tempData2 != 0UL) {
                        stackRootNumbers.Push((int)PuzzleState.GetDifferenceOneNumber(tempData, tempData2));
                        tempData = tempData2;
                        tempData2 = rootData[tempData];
                    }
                    while (stackRootNumbers.Count > 0) {
                        root.Add(stackRootNumbers.Pop());
                    }
                    if (allRoots.ContainsKey(puzzle.data) == false) {
                        allRoots[puzzle.data] = new List<RootState>();
                    }
                    allRoots[puzzle.data].Add(new RootState(puzzle.data, startPuzzle.data, root));
                    nextPuzzles[puzzle.data] = puzzle;
                    flag = true;
                }

                if (flag == false) {
                    for (int j = 0;  j <= 3; j++) {
                        PuzzleState tempPuzzle = puzzle.Move(j);
                        if (tempPuzzle.data != puzzle.data && (tempPuzzle.zero & keepOutMask) == 0UL) {
                            if (rootData.ContainsKey(tempPuzzle.data) == false) {
                                rootData[tempPuzzle.data] = puzzle.data;
                                nextStates[tempPuzzle.data] = tempPuzzle;
                            }
                        }
                    }
                }

            }

            if (flag) {
                return true;
            }

            if (nextStates.Count == 0) {
                return false;
            }

            tempSwapStates = currentStates;
            currentStates = nextStates;
            nextStates = tempSwapStates;

        }

        return false;
    }
开发者ID:neetsdkasu,项目名称:Paiza-POH-MyAnswers,代码行数:67,代码来源:Program.cs


注:本文中的Filter.Match方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。