Exemplo n.º 1
0
    public void Visit(SameTime same)
    {
        var oldestacceptlog  = (LinkedListNode_Indexed)nowCommandLogPosition.Clone();
        int?newestaccepttime = null;

        foreach (var e in same.data)
        {
            bool matched = false;
            var  i       = (LinkedListNode_Indexed)nowCommandLogPosition.Clone();
            i.index = 0;
            for (; i != null && i.index < sametime_margine; i = i.Next)
            {
                var verifyvisitor = new CommandVerify(i, 1, i.index);
                e.Accept(verifyvisitor);
                if (verifyvisitor.commandAcceptFlag)
                {
                    matched = true;
                    if (oldestacceptlog.index < verifyvisitor.nowCommandLogPosition.index)
                    {
                        oldestacceptlog.index = verifyvisitor.nowCommandLogPosition.index;
                    }
                    if (newestaccepttime == null || verifyvisitor.nowCommandLogPosition.index < newestaccepttime.Value)
                    {
                        newestaccepttime = i.index;
                    }
                    break;
                }
            }
            if (!matched)
            {
                commandAcceptFlag = false;
                return;
            }
        }

        if (newestaccepttime == 0)
        {
            commandAcceptFlag     = true;
            nowCommandLogPosition = oldestacceptlog;
        }
        else
        {
            commandAcceptFlag     = false;
            nowCommandLogPosition = oldestacceptlog;
        }
    }
Exemplo n.º 2
0
 public void TEst()
 {
     methodTested = new SameTime();
 }