Exemplo n.º 1
0
        /// <summary>
        /// Creates DictionaryData filled by entries in the IDictionary.
        /// </summary>
        /// <remarks>
        /// Its behavior is decided by FromDictionary method, depending on how it's
        /// implemented by inheritors.
        /// </remarks>
        public static DictionaryData CreateDictionaryData(IDictionary dict)
        {
            //every dictionary must have type information
            //if not, exception should be thrown
            DictionaryDataType t = (DictionaryDataType)dict[DictionaryData.DataTypeKey];
            //This is supposed to be a derived class
            DictionaryData d = PrepareDictionaryData(t);

            d.FromDictionary(dict);
            return(d);
        }
Exemplo n.º 2
0
        public void TestSerializeAndDeserialize()
        {
            string            str_to_check = "Test String 1";
            RegularData       d            = new RegularData(Encoding.UTF8.GetBytes(str_to_check));
            FingerprintedData p            = new FingerprintedData(d);

            byte[] serializedObj = p.SerializeTo();
            Logger.WriteLineIf(LogLevel.Verbose, _log_props, Encoding.UTF8.GetString(serializedObj));
            FingerprintedData actual_p = (FingerprintedData)DictionaryData.CreateDictionaryData(serializedObj, new AdrSerializer());
            RegularData       actual_d = (RegularData)actual_p.InnerData;

            Assert.AreEqual(str_to_check, Encoding.UTF8.GetString(actual_d.PayLoad));
        }
Exemplo n.º 3
0
        public void TestSerializeAndDeserialize()
        {
            string str_to_compare = "Test String 1";

            byte[]      b = Encoding.UTF8.GetBytes(str_to_compare);
            RegularData d = new RegularData(b);

            Brunet.MemBlock mb = Brunet.MemBlock.Reference(d.SerializeTo());
            Logger.WriteLineIf(LogLevel.Verbose, _log_props, mb.GetString(Encoding.UTF8));
            RegularData d_actual = (RegularData)DictionaryData.CreateDictionaryData(mb, new AdrSerializer());

            Assert.AreEqual(str_to_compare, Encoding.UTF8.GetString(d_actual.PayLoad));
        }
        /**
         * Fills inner_data with the IDictionary.
         * For derived classes, fields of the class itself should be added by its overrided
         * FromDictionary()
         */
        protected void FillInnerData(IDictionary dict)
        {
            IDictionary inner_dict = (IDictionary)dict[InnerDataKey];

            _inner_data = (DictionaryData)DictionaryData.CreateDictionaryData(inner_dict);
        }
 public DictionaryDataDecorator(DictionaryData inner_data)
 {
     _inner_data = inner_data;
 }
Exemplo n.º 6
0
 /**
  * Data that could be fragmented
  */
 public FragmentableData(DictionaryData data) : base(data)
 {
 }
Exemplo n.º 7
0
 public FingerprintedData(DictionaryData inner)
     : base(inner)
 {
 }
Exemplo n.º 8
0
 /**
  * Data that could be fragmented
  */
 public FragmentableData(DictionaryData data)
     : base(data)
 {
 }
Exemplo n.º 9
0
 /**
  * Fills inner_data with the IDictionary.
  * For derived classes, fields of the class itself should be added by its overrided
  * FromDictionary()
  */
 protected void FillInnerData(IDictionary dict)
 {
     IDictionary inner_dict = (IDictionary)dict[InnerDataKey];
       _inner_data = (DictionaryData)DictionaryData.CreateDictionaryData(inner_dict);
 }
Exemplo n.º 10
0
 public DictionaryDataDecorator(DictionaryData inner_data)
 {
     _inner_data = inner_data;
 }
Exemplo n.º 11
0
 public FingerprintedData(DictionaryData inner) : base(inner)
 {
 }