Teardown() public method

public Teardown ( ) : void
return void
Example #1
0
        private void CheckCompleted(Protocol protocol)
        {
            if (!protocol.IsCompleted)
            {
                return;
            }

            RegisteredProtocols.Remove(protocol.ProtocolId);
            protocol.Teardown();

            if (!ParentProtocols.ContainsKey(protocol.ProtocolId))
            {
                return;
            }

            Protocol parent = RegisteredProtocols[ParentProtocols[protocol.ProtocolId]];

            ParentProtocols.Remove(protocol.ProtocolId);

            if (!ChildProtocolCompletedMsg.ContainsKey(parent.ProtocolId))
            {
                ChildProtocolCompletedMsg[parent.ProtocolId] = new SortedDictionary <ulong, object>();
            }

            ChildProtocolOutstandingCount[parent.ProtocolId]--;
            ChildProtocolCompletedMsg[parent.ProtocolId][protocol.ProtocolId] = protocol.RawResult;

            if (ChildProtocolOutstandingCount[parent.ProtocolId] > 0)
            {
                return;
            }

            // all subprotocols are completed
            //Send(parent, Id, new SubProtocolCompletedMsg(ChildProtocolCompletedMsgs[parent.ProtocolId]));
            NetSimulator.Loopback(Id, parent.ProtocolId, new SubProtocolCompletedMsg(ChildProtocolCompletedMsg[parent.ProtocolId], ChildProtocolSubmissionOrder[parent.ProtocolId]));
            ChildProtocolCompletedMsg.Remove(parent.ProtocolId);
            ChildProtocolSubmissionOrder.Remove(parent.ProtocolId);
        }
Example #2
0
        private void CheckCompleted(Protocol protocol)
        {
            if (!protocol.IsCompleted)
                return;

            RegisteredProtocols.Remove(protocol.ProtocolId);
            protocol.Teardown();

            if (!ParentProtocols.ContainsKey(protocol.ProtocolId))
                return;

            Protocol parent = RegisteredProtocols[ParentProtocols[protocol.ProtocolId]];
            ParentProtocols.Remove(protocol.ProtocolId);

            if (!ChildProtocolCompletedMsg.ContainsKey(parent.ProtocolId))
                ChildProtocolCompletedMsg[parent.ProtocolId] = new SortedDictionary<ulong, object>();

            ChildProtocolOutstandingCount[parent.ProtocolId]--;
            ChildProtocolCompletedMsg[parent.ProtocolId][protocol.ProtocolId] = protocol.RawResult;

            if (ChildProtocolOutstandingCount[parent.ProtocolId] > 0)
                return;

            // all subprotocols are completed
            //Send(parent, Id, new SubProtocolCompletedMsg(ChildProtocolCompletedMsgs[parent.ProtocolId]));
            NetSimulator.Loopback(Id, parent.ProtocolId, new SubProtocolCompletedMsg(ChildProtocolCompletedMsg[parent.ProtocolId], ChildProtocolSubmissionOrder[parent.ProtocolId]));
            ChildProtocolCompletedMsg.Remove(parent.ProtocolId);
            ChildProtocolSubmissionOrder.Remove(parent.ProtocolId);
        }