Example #1
0
 public ushort GetCount(RrKind rrKind)
 {
     try{
         return(_dnsHeader.GetCount((int)rrKind));
     } catch (IOException e) {
         //ここで例外が派生するのは、 設計上の問題
         Util.RuntimeException(e.Message);
         return(0);
     }
 }
Example #2
0
        // 共通メソッド
        //リソースレコードのToString()
        private string Print(PacketDns p, RrKind rrKind, int n)
        {
            var o = p.GetRr(rrKind, n);

            if (rrKind == RrKind.QD)
            {
                return(o.ToString());
            }
            return(Print(o));
        }
Example #3
0
        //回答フィールドへの追加
        //これを下記のように変更し、OneRRのコンストラクタを使用するようにする
        public void AddRr(RrKind rrKind, OneRr oneRr)
        {
            //名前の圧縮は、最後のgetBytes()で処理する
            var i = (int)rrKind;

            _ar[i].Add(oneRr);
            try{
                var count = _dnsHeader.GetCount(i);
                _dnsHeader.SetCount(i, ++count);
            } catch (IOException) {
                Util.RuntimeException("PacketDns.addRR()");
            }
        }
Example #4
0
 //フィールドの読み込み
 //RR_TYPEフィールドのno番目のデータを取得する
 public OneRr GetRr(RrKind rrKind, int no)
 {
     return _ar[(int) rrKind][no];
 }
Example #5
0
 public ushort GetCount(RrKind rrKind)
 {
     try{
         return _dnsHeader.GetCount((int) rrKind);
     } catch (IOException e){
         //ここで例外が派生するのは、 設計上の問題
         Util.RuntimeException(e.Message);
         return 0;
     }
 }
Example #6
0
 //回答フィールドへの追加
 //これを下記のように変更し、OneRRのコンストラクタを使用するようにする
 public void AddRr(RrKind rrKind, OneRr oneRr)
 {
     //名前の圧縮は、最後のgetBytes()で処理する
     var i = (int) rrKind;
     _ar[i].Add(oneRr);
     try{
         var count = _dnsHeader.GetCount(i);
         _dnsHeader.SetCount(i, ++count);
     } catch (IOException){
         Util.RuntimeException("PacketDns.addRR()");
     }
 }
Example #7
0
 // 共通メソッド
 //リソースレコードのToString()
 private string Print(PacketDns p, RrKind rrKind, int n)
 {
     var o = p.GetRr(rrKind, n);
     if (rrKind == RrKind.QD){
         return o.ToString();
     }
     return Print(o);
 }
Example #8
0
 //フィールドの読み込み
 //RR_TYPEフィールドのno番目のデータを取得する
 public OneRr GetRr(RrKind rrKind, int no)
 {
     return(_ar[(int)rrKind][no]);
 }
Example #9
0
 //レスポンス情報追加をまとめて記述
 private void AppendRr(PacketDns packetDns, RrKind rrKind, OneRr oneRr)
 {
     Logger.Set(LogKind.Detail, null, 23, string.Format("[{0}] {1}", rrKind, oneRr)); //"Append RR"
     packetDns.AddRr(rrKind, oneRr);
 }
Example #10
0
 //レスポンス情報追加をまとめて記述
 private void AppendRr(PacketDns packetDns, RrKind rrKind, OneRr oneRr)
 {
     Logger.Set(LogKind.Detail, null, 23, string.Format("[{0}] {1}", rrKind, oneRr)); //"Append RR"
     packetDns.AddRr(rrKind, oneRr);
 }