public ResponseParser(
     RecordNameParser recordNameParser,
     ParserFactory parserFactory
     )
 {
     _recordNameParser = recordNameParser;
     _parserFactory = parserFactory;
 }
        public IDnsClient Build()
        {
            var requestBuilder = new RequestBuilder(_logger);

            var recordTextParser = new RecordTextParser();
            var recordParser     = new RecordNameParser(new NullLogger());

            var parserFactory = new ParserFactory(
                new AParser(),
                new AaaaParser(),
                new MxParser(recordParser),
                new RpParser(recordParser),
                new MrParser(),
                new MbParser(),
                new MgParser(),
                new NsParser(),
                new CNameParser(recordParser),
                new PtrParser(),
                new HInfoParser(recordTextParser),
                new MInfoParser(recordParser),
                new X25Parser(recordTextParser),
                new TxtParser(recordTextParser),
                new LocParser(),
                new SoaParser(recordParser),
                new SrvParser(recordParser),
                new AfsdbParser(recordParser),
                new AtmaParser(),
                new IsdnParser(recordTextParser),
                new RtParser(recordParser),
                new UnknownParser(),
                new WksParser());

            var resolverFactory = new ResolverFactory(
                new TcpResolver(_timeout),
                new UdpResolver(_timeout));

            var responseParser = new ResponseParser(
                new RecordNameParser(_logger),
                parserFactory);

            return(new DnsClient(
                       _serverEndPoint,
                       requestBuilder,
                       resolverFactory,
                       responseParser));
        }
        public IDnsClient Build()
        {
            var requestBuilder = new RequestBuilder(_logger);

            var recordTextParser = new RecordTextParser();
            var recordParser = new RecordNameParser(new NullLogger());
            
            var parserFactory = new ParserFactory(
                new AParser(),
                new AaaaParser(),
                new MxParser(recordParser),
                new RpParser(recordParser),
                new MrParser(),
                new MbParser(),
                new MgParser(),
                new NsParser(),
                new CNameParser(recordParser),
                new PtrParser(),
                new HInfoParser(recordTextParser),
                new MInfoParser(recordParser),
                new X25Parser(recordTextParser),
                new TxtParser(recordTextParser),
                new LocParser(),
                new SoaParser(recordParser),
                new SrvParser(recordParser),
                new AfsdbParser(recordParser),
                new AtmaParser(),
                new IsdnParser(recordTextParser),
                new RtParser(recordParser),
                new UnknownParser(),
                new WksParser());

            var resolverFactory = new ResolverFactory(
                new TcpResolver(_timeout),
                new UdpResolver(_timeout));

            var responseParser = new ResponseParser(
                new RecordNameParser(_logger),
                parserFactory);

            return new DnsClient(
                _serverEndPoint,
                requestBuilder,
                resolverFactory,
                responseParser);
        }
 public SoaParser(RecordNameParser parser)
 {
     _parser = parser;
 }
 public RtParser(RecordNameParser parser)
 {
     _parser = parser;
 }
 internal RecordHeaderParser(RecordNameParser parser)
 {
     _parser = parser;
 }
 public MInfoParser(RecordNameParser parser)
 {
     _parser = parser;
 }
 public AfsdbParser(RecordNameParser parser)
 {
     _parser = parser;
 }