Exemple #1
0
        public void Parse(Stream s)
        {
            byte current = (byte)s.ReadByte();

            while ((char)current != 'e')
            {
                IBEncodeValue value = BEncode.Parse(s, current);
                values.Add(value);
                current = (byte)s.ReadByte();
            }
        }
Exemple #2
0
 internal static string String(IBEncodeValue v)
 {
     if (v is ValueString)
     {
         return(((ValueString)v).String);
     }
     else if (v is ValueNumber)
     {
         return(((ValueNumber)v).String);
     }
     else
     {
         return(null);
     }
 }
 public void Parse(Stream s)
 {
     for (byte num1 = (byte)s.ReadByte(); num1 != 0x65; num1 = (byte)s.ReadByte())
     {
         if (!char.IsNumber((char)num1))
         {
             throw new TorrentException("Key expected to be a string.");
         }
         ValueString text1 = new ValueString();
         text1.Parse(s, num1);
         IBEncodeValue value1 = BEncode.Parse(s);
         if (dict.ContainsKey(text1.String))
         {
             dict[text1.String] = value1;
         }
         else
         {
             dict.Add(text1.String, value1);
         }
     }
 }
Exemple #4
0
 internal void Add(IBEncodeValue value)
 {
     values.Add(value);
 }
 internal void Add(IBEncodeValue value)
 {
     values.Add(value);
 }
 internal static string String(IBEncodeValue v)
 {
     if (v is ValueString) return ((ValueString)v).String;
     else if (v is ValueNumber) return ((ValueNumber)v).String;
     else return null;
 }
 internal void Add(string key, IBEncodeValue value)
 {
     dict.Add(key, value);
 }
 internal void Add(string key, IBEncodeValue value)
 {
     dict.Add(key, value);
 }