コード例 #1
0
        public L4ConversationExtended(IWindsorContainer container, IL7ConversationTrackerFactory conversationTrackerFactory, IPProtocolType ipProtocol, L3Conversation l3Conversation, IPEndPoint sourceEndPoint, IPEndPoint destinationEndPoint, long l4FlowMTU)
            : base(container, ipProtocol, l3Conversation, sourceEndPoint, destinationEndPoint, l4FlowMTU)
        {
            switch (this.L4ProtocolType)
            {
            case IPProtocolType.TCP: this.L7ConversationTracker = conversationTrackerFactory.CreateTCPTracker(this); break;

            case IPProtocolType.UDP: this.L7ConversationTracker = conversationTrackerFactory.CreateUDPTracker(this); break;

            default:
                Debugger.Break();
                throw new ArgumentOutOfRangeException();
            }
        }
コード例 #2
0
        private L4ConversationExtended CreateL4Conversation(PmFrameBase baseConversationFrame, L3Conversation l3Conversation, long l4FlowMTU)
        {
            IPEndPoint sourceEndPoint, destinationEndPoint;

            if (this.NBARProtocolPortDatabase.IsTCPServerPort(baseConversationFrame.DstPort))
            {
                sourceEndPoint      = baseConversationFrame.SourceEndPoint;
                destinationEndPoint = baseConversationFrame.DestinationEndPoint;
            }
            else if (this.NBARProtocolPortDatabase.IsTCPServerPort(baseConversationFrame.SrcPort))
            {
                sourceEndPoint      = baseConversationFrame.DestinationEndPoint;
                destinationEndPoint = baseConversationFrame.SourceEndPoint;
            }
            else if (baseConversationFrame.SrcPort > baseConversationFrame.DstPort)
            {
                sourceEndPoint      = baseConversationFrame.SourceEndPoint;
                destinationEndPoint = baseConversationFrame.DestinationEndPoint;
            }
            else
            {
                sourceEndPoint      = baseConversationFrame.DestinationEndPoint;
                destinationEndPoint = baseConversationFrame.SourceEndPoint;
            }
            return(this.L4ConversationFactory.Create(baseConversationFrame.IpProtocol, l3Conversation, sourceEndPoint, destinationEndPoint, l4FlowMTU));
        }
コード例 #3
0
 public L3ConversationExtended(IWindsorContainer container, L3Conversation conversationKey) : base(container, conversationKey)
 {
 }