Example #1
0
        public void Encode_Decode_Max()
        {
            var lnk = new ELink(ulong.MaxValue, null);
            lnk.Encode(1);

            var lnk2 = new ELink( lnk.Link );
            Assert.AreEqual(lnk.ID, lnk2.ID);
        }
Example #2
0
        public AppRemoteTerminal()
        {
            m_ID = AppRemoteTerminalRegistry.GenerateId();

            m_Name         = new ELink((ulong)m_ID, null).Link;
            m_Vars         = new Vars();
            m_ScriptRunner = new ScriptRunner();
        }
Example #3
0
        public void Encode_Decode_Min()
        {
            var lnk = new ELink(0, null);
            lnk.Encode(1);

            var lnk2 = new ELink( lnk.Link );
            Assert.AreEqual(lnk.ID, lnk2.ID);
        }
Example #4
0
        private void btnBigID_Click(object sender, EventArgs e)
        {
            ulong id = 182500000000;       // ulong.MaxValue;

            var lnk = new ELink(id, null); // new byte[]{ 123, 18});

            tbELink.Text = lnk.Link;
        }
Example #5
0
        private void button1_Click(object sender, EventArgs e)
        {
          var lnk = new ELink(new GDID((uint)sbEra.Value, 12,(ulong)tbID.Text.AsLong(0)), null);
          tbELink.Text = lnk.Link;

          var lnk2 = new ELink( lnk.Link );

          tbResult.Text = lnk2.GDID.ToString();
        }
Example #6
0
        private void btnCalculate_Click(object sender, EventArgs e)
        {
            var lnk = new ELink((ulong)tbID.Text.AsLong(0), null);
            tbELink.Text = lnk.Link;

            var lnk2 = new ELink( lnk.Link );

            tbResult.Text = lnk2.ID.ToString();
        }
Example #7
0
 public AppRemoteTerminal() : base()
 {
     lock (s_IDLock)
     {
         s_ID++;
         m_ID = s_ID;
     }
     m_Name         = new ELink((ulong)m_ID, null).Link;
     m_Vars         = new Vars();
     m_ScriptRunner = new ScriptRunner();
 }
Example #8
0
 public void Encode_Decode_MetaEven()
 {
     var lnk = new ELink(1, new byte[]{0x01, 0xfe, 0xda, 0x5});
     lnk.Encode(1);
     var lnk2 = new ELink( lnk.Link );
     Assert.AreEqual(lnk.ID, lnk2.ID);
     Assert.AreEqual(0x01, lnk2.Metadata[0]);
     Assert.AreEqual(0xfe, lnk2.Metadata[1]);
     Assert.AreEqual(0xda, lnk2.Metadata[2]);
     Assert.AreEqual(0x05, lnk2.Metadata[3]);
 }
Example #9
0
        public void Encode_Decode_16_Seeds()
        {
            var lnk = new ELink(4999666333111, null);

            for (int seed = 0; seed < 16; seed++)
            {
                lnk.Encode((byte)seed);
                Console.WriteLine("{0}  {1} -> {2}".Args(seed, lnk.Link, lnk.GDID));
                var lnk2 = new ELink(lnk.Link);
                Aver.AreEqual(lnk.ID, lnk2.ID);
            }
        }
Example #10
0
        protected override object DoGenerateTransactionID(PaySession session, TransactionType type)
        {
            if (m_NextTransactionID != null)
            {
                var id = m_NextTransactionID;
                m_NextTransactionID = null;
                return(id);
            }
            var eLink = new ELink((((ulong)ExternalRandomGenerator.Instance.NextRandomInteger) << 32) + ((ulong)ExternalRandomGenerator.Instance.NextRandomInteger), null);

            return(eLink.Link);
        }
Example #11
0
        public void Encode_Decode_MetaOdd()
        {
            var lnk = new ELink(1, new byte[] { 0x01, 0xfe, 0xda, 0x5, 0x07 });

            lnk.Encode(1);

            var lnk2 = new ELink(lnk.Link);

            Aver.AreEqual(lnk.ID, lnk2.ID);
            Aver.AreEqual(0x01, lnk2.Metadata[0]);
            Aver.AreEqual(0xfe, lnk2.Metadata[1]);
            Aver.AreEqual(0xda, lnk2.Metadata[2]);
            Aver.AreEqual(0x05, lnk2.Metadata[3]);
            Aver.AreEqual(0x07, lnk2.Metadata[4]);
        }
Example #12
0
 public static bool TryParse(string str, out CommentID commentId)
 {
     try
     {
         var eLink    = new ELink(str);
         var gVolume  = eLink.GDID;
         var gComment = new GDID(eLink.Metadata);
         commentId = new CommentID(gVolume, gComment);
         return(true);
     }
     catch
     {
         commentId = default(CommentID);
         return(false);
     }
 }
Example #13
0
        public void GDID_EncodeDecode_2()
        {
            var lnk = new ELink(new GDID(0, 3, 1678), new byte[] { 1, 2, 3, 4, 5 });

            var gdid = lnk.GDID;

            Aver.AreEqual(0ul, gdid.Era);
            Aver.AreEqual(3, gdid.Authority);
            Aver.AreEqual(1678ul, gdid.Counter);
            Aver.IsNotNull(lnk.Metadata);
            Aver.AreEqual(5, lnk.Metadata.Length);

            Aver.AreEqual(1, lnk.Metadata[0]);
            Aver.AreEqual(2, lnk.Metadata[1]);
            Aver.AreEqual(3, lnk.Metadata[2]);
            Aver.AreEqual(4, lnk.Metadata[3]);
            Aver.AreEqual(5, lnk.Metadata[4]);
        }
Example #14
0
        public void GDID_EncodeDecode_4()
        {
//CHAGVU-ANHTUGIFNU-TVWETOUF-JOJKJU
            var src = new ELink( new GDID(27, 15, 200100999666333000), new byte[] {(byte)'a',(byte)'b',(byte)'c'} );
            Console.WriteLine("{0} -> {1} + 'abc'".Args(src.Link, src.GDID));
            var lnk = new ELink( src.Link );

            var gdid = lnk.GDID;
            Assert.AreEqual(27, gdid.Era);
            Assert.AreEqual(15, gdid.Authority);
            Assert.AreEqual(200100999666333000, gdid.Counter);
            Assert.IsNotNull( lnk.Metadata);
            Assert.AreEqual(3, lnk.Metadata.Length);

            Assert.AreEqual((byte)'a', lnk.Metadata[0]);
            Assert.AreEqual((byte)'b', lnk.Metadata[1]);
            Assert.AreEqual((byte)'c', lnk.Metadata[2]);

        }
Example #15
0
        public void GDID()
        {
            var link1 = new ELink(new GDID(5, 1, 2));
            var link2 = new ELink(new GDID(0, 1, 2));

            Aver.AreEqual(new GDID(5, 1, 2), "5:1:2".AsGDID());
            Aver.AreObjectsEqual(new GDID(5, 1, 2), "5:1:2".AsType(typeof(GDID)));
            Aver.AreObjectsEqual(new GDID(5, 1, 2), link1.Link.AsType(typeof(GDID), false));

            Aver.AreEqual(new GDID(0, 1, 2), "0:1:2".AsGDID());
            Aver.AreObjectsEqual(new GDID(0, 1, 2), "0:1:2".AsType(typeof(GDID)));
            Aver.AreObjectsEqual(new GDID(0, 1, 2), link2.Link.AsType(typeof(GDID), false));

            string ns = null;

            Aver.IsNull(ns.AsNullableGDID());
            Aver.IsNull(ns.AsNullableGDID(new GDID(7, 8, 9)));
            Aver.AreEqual(new GDID(7, 8, 9), "dewsdfwefwerf".AsNullableGDID(new GDID(7, 8, 9)));
        }
Example #16
0
        public void GDIDSymbol()
        {
            var link = new ELink(new GDID(1280, 2, 8902382));

            var gs = link.AsGDIDSymbol();

            Assert.AreEqual(link.GDID, gs.GDID);
            Assert.AreEqual(link.Link, gs.Symbol);

            var gs2 = new GDIDSymbol(gs.GDID, gs.Symbol);
            Assert.AreEqual(gs, gs2);
            Assert.IsTrue( gs.Equals(gs2));
            Assert.IsFalse( gs.Equals(this));
            Assert.IsFalse( gs.Equals(null));

            Assert.AreEqual(gs.GetHashCode(), gs2.GetHashCode());

            Console.WriteLine( gs.ToString());
        }
Example #17
0
        public void GDIDSymbol()
        {
            var link1 = new ELink(new GDID(5, 1, 2));
            var link2 = new ELink(new GDID(0, 1, 2));

            Aver.AreEqual(new GDIDSymbol(new GDID(5, 1, 2), "5:1:2"), "5:1:2".AsGDIDSymbol());
            Aver.AreObjectsEqual(new GDIDSymbol(new GDID(5, 1, 2), "5:1:2"), "5:1:2".AsType(typeof(GDIDSymbol)));
            Aver.AreObjectsEqual(link1.AsGDIDSymbol, link1.Link.AsType(typeof(GDIDSymbol), false));

            Aver.AreEqual(new GDIDSymbol(new GDID(0, 1, 2), "0:1:2"), "0:1:2".AsGDIDSymbol());
            Aver.AreObjectsEqual(new GDIDSymbol(new GDID(0, 1, 2), "0:1:2"), "0:1:2".AsType(typeof(GDIDSymbol)));
            Aver.AreObjectsEqual(link2.AsGDIDSymbol, link2.Link.AsType(typeof(GDIDSymbol), false));

            string ns = null;

            Aver.IsNull(ns.AsNullableGDIDSymbol());
            Aver.IsNull(ns.AsNullableGDIDSymbol(new GDIDSymbol(new GDID(7, 8, 9), "AAA")));
            Aver.AreEqual(new GDIDSymbol(new GDID(7, 8, 9), "AAA"), "wdef8we9f9u8".AsNullableGDIDSymbol(new GDIDSymbol(new GDID(7, 8, 9), "AAA")));
        }
Example #18
0
        public void GDIDSymbol()
        {
            var link = new ELink(new GDID(1280, 2, 8902382));

            var gs = link.AsGDIDSymbol();

            Assert.AreEqual(link.GDID, gs.GDID);
            Assert.AreEqual(link.Link, gs.Symbol);

            var gs2 = new GDIDSymbol(gs.GDID, gs.Symbol);

            Assert.AreEqual(gs, gs2);
            Assert.IsTrue(gs.Equals(gs2));
            Assert.IsFalse(gs.Equals(this));
            Assert.IsFalse(gs.Equals(null));

            Assert.AreEqual(gs.GetHashCode(), gs2.GetHashCode());

            Console.WriteLine(gs.ToString());
        }
Example #19
0
        public void GDID_EncodeDecode_3()
        {
            var src = new ELink( new GDID(567333, 3, 167898777), new byte[] {1,2,3,4,5} );
            Console.WriteLine("ELink with GDID and 5 bytes metadata: "+src.Link);
            var lnk = new ELink( src.Link );

            var gdid = lnk.GDID;
            Assert.AreEqual(567333, gdid.Era);
            Assert.AreEqual(3, gdid.Authority);
            Assert.AreEqual(167898777, gdid.Counter);
            Assert.IsNotNull( lnk.Metadata);
            Assert.AreEqual(5, lnk.Metadata.Length);

            Assert.AreEqual(1, lnk.Metadata[0]);
            Assert.AreEqual(2, lnk.Metadata[1]);
            Assert.AreEqual(3, lnk.Metadata[2]);
            Assert.AreEqual(4, lnk.Metadata[3]);
            Assert.AreEqual(5, lnk.Metadata[4]);

        }
Example #20
0
        public void GDID_EncodeDecode_3()
        {
            var src = new ELink(new GDID(567333, 3, 167898777), new byte[] { 1, 2, 3, 4, 5 });

            "ELink with GDID and 5 bytes metadata: {0}".SeeArgs(src.Link);
            var lnk = new ELink(src.Link);

            var gdid = lnk.GDID;

            Aver.AreEqual(567333ul, gdid.Era);
            Aver.AreEqual(3, gdid.Authority);
            Aver.AreEqual(167898777ul, gdid.Counter);
            Aver.IsNotNull(lnk.Metadata);
            Aver.AreEqual(5, lnk.Metadata.Length);

            Aver.AreEqual(1, lnk.Metadata[0]);
            Aver.AreEqual(2, lnk.Metadata[1]);
            Aver.AreEqual(3, lnk.Metadata[2]);
            Aver.AreEqual(4, lnk.Metadata[3]);
            Aver.AreEqual(5, lnk.Metadata[4]);
        }
Example #21
0
        /// <summary>
        /// Override to decode session ID GUID from string representation. Return null if conversion not possible
        /// </summary>
        protected virtual Guid?DecodeSessionID(string id, out ulong idSecret)
        {
            ELink encoded;
            Guid  guid;
            ulong secret;

            try
            {
                encoded = new ELink(id);
                secret  = encoded.ID;
                guid    = new Guid(encoded.Metadata);
            }
            catch
            {
                idSecret = 0;
                return(null);
            }

            idSecret = secret;
            return(guid);
        }
Example #22
0
        /// <summary>
        /// Override to decode session ID GUID from string representation. Return null if conversion not possible
        /// </summary>
        protected virtual Guid?DecodeSessionID(WorkContext work, string id, bool hasApiHeaders, out ulong idSecret)
        {
            ELink encoded;
            Guid  guid;
            ulong secret;

            try
            {
                encoded = new ELink(id);
                secret  = encoded.ID;
                guid    = new Guid(encoded.Metadata);
            }
            catch
            {
                idSecret = 0;
                return(null);
            }

            idSecret = secret;
            return(guid);
        }
Example #23
0
        /// <summary>
        /// Override to decode session ID GUID from string representation. Return null if conversion not possible
        /// </summary>
        protected virtual Guid?DecodeSessionID(string id)
        {
            ELink encoded;
            Guid  guid;

            try
            {
                encoded = new ELink(id);
                guid    = new Guid(encoded.Metadata);
            }
            catch
            {
                return(null);
            }

            var csum = (int)(encoded.ID >> 32);

            if (guid.GetHashCode() == csum)
            {
                return(guid);
            }
            return(null);
        }
Example #24
0
        public void GDIDSymbol()
        {
            object obj = new GDIDSymbol(new GDID(3, 4, 5), "ABC");

            Assert.AreEqual(obj, obj.AsGDIDSymbol());
            Assert.AreEqual(obj, obj.AsGDIDSymbol(new GDIDSymbol(new GDID(23, 14, 15), "ABC")));


            var link = new ELink(new GDID(4, 12, 8721));


            Assert.AreEqual(link.AsGDIDSymbol, link.Link.AsGDIDSymbol());
            Assert.AreEqual(link.AsGDIDSymbol, "3rewtfef:4:5".AsGDIDSymbol(link.AsGDIDSymbol()));

            try
            {
                "3rewtfef:4:5".AsGDIDSymbol(link.AsGDIDSymbol, handling: ConvertErrorHandling.Throw);
                Assert.Fail("No excepetion");
            }
            catch
            {
                Assert.Pass();
            }
        }
Example #25
0
        public void GDIDSymbol()
        {
            object obj = new GDIDSymbol(new GDID(3, 4, 5), "ABC");

            Aver.AreObjectsEqual(obj, obj.AsGDIDSymbol());
            Aver.AreObjectsEqual(obj, obj.AsGDIDSymbol(new GDIDSymbol(new GDID(23, 14, 15), "ABC")));


            var link = new ELink(new GDID(4, 12, 8721));


            Aver.AreEqual(link.AsGDIDSymbol, link.Link.AsGDIDSymbol());
            Aver.AreEqual(link.AsGDIDSymbol, "3rewtfef:4:5".AsGDIDSymbol(link.AsGDIDSymbol()));

            try
            {
                "3rewtfef:4:5".AsGDIDSymbol(link.AsGDIDSymbol, handling: ConvertErrorHandling.Throw);
                Aver.Fail(Constants.ERR_NOT_THROWN);
            }
            catch
            {
                Aver.Pass();
            }
        }
Example #26
0
        /// <summary>
        /// Override to encode session ID GUID into string representation
        /// </summary>
        protected virtual string EncodeSessionID(WorkContext work, WaveSession session, bool hasApiHeaders)
        {
            var encoded = new ELink(session.IDSecret, session.ID.ToByteArray());

            return(encoded.Link);
        }
Example #27
0
 /// <summary>
 /// Override to encode session ID GUID into string representation
 /// </summary>
 protected virtual string EncodeSessionID(Guid id)
 {
   ulong csum = ((ulong)id.GetHashCode() << 32) | (uint)ExternalRandomGenerator.Instance.NextRandomInteger;
   var encoded = new ELink(csum, id.ToByteArray());
   return encoded.Link;
 }
Example #28
0
 /// <summary>
 /// Override to encode session ID GUID into string representation
 /// </summary>
 protected virtual string EncodeSessionID(WaveSession session)
 {
   var encoded = new ELink(session.IDSecret, session.ID.ToByteArray());
   return encoded.Link;
 }
Example #29
0
      /// <summary>
      /// Override to decode session ID GUID from string representation. Return null if conversion not possible
      /// </summary>
      protected virtual Guid? DecodeSessionID(string id, out ulong idSecret)
      {
        ELink encoded;
        Guid guid; 
        ulong secret;
       
        try
        {
          encoded = new ELink(id);
          secret = encoded.ID;
          guid = new Guid(encoded.Metadata);
        }
        catch
        {
          idSecret = 0;
          return null;
        }      

        idSecret = secret;
        return guid;
      }
Example #30
0
        /// <summary>
        /// Override to encode session ID GUID into string representation
        /// </summary>
        protected virtual string EncodeSessionID(WaveSession session)
        {
            var encoded = new ELink(session.IDSecret, session.ID.ToByteArray());

            return(encoded.Link);
        }
Example #31
0
 public void Encode_Min()
 {
     var lnk = new ELink(0, null);
     lnk.Encode(1);
     Assert.AreEqual("AIAIAJ-AJ", lnk.Link);
 }
Example #32
0
 /// <summary>
 /// Override to encode session ID GUID into string representation
 /// </summary>
 protected virtual string EncodeSessionID(WorkContext work, WaveSession session, bool hasApiHeaders)
 {
     var encoded = new ELink(session.IDSecret, session.ID.ToByteArray());
     return encoded.Link;
 }
Example #33
0
        public string Stringify()
        {
            var eLink = new ELink(G_Volume, G_Comment.Bytes);

            return(eLink.Link);
        }
Example #34
0
        private void btnDecode_Click(object sender, EventArgs e)
        {
            var lnk2 = new ELink(tbELink.Text);

            tbResult.Text = lnk2.GDID.ToString();
        }
Example #35
0
 private string generateUniqueID()
 {
   ulong id = (((ulong)ExternalRandomGenerator.Instance.NextRandomInteger) << 32) + ((ulong)ExternalRandomGenerator.Instance.NextRandomInteger);
   var eLink = new ELink(id, new byte[] { });
   return eLink.Link;
 }
Example #36
0
 /// <summary>
 /// Override to decode session ID GUID from string representation. Return null if conversion not possible
 /// </summary>
 protected virtual Guid? DecodeSessionID(string id)
 {
   ELink encoded;
   Guid guid; 
  
   try
   {
     encoded = new ELink(id);
     guid = new Guid(encoded.Metadata);
   }
   catch
   {
     return null;
   }      
    
   var csum = (int)(encoded.ID >> 32);
   if (guid.GetHashCode()==csum) return guid;
   return null;
 }
Example #37
0
 public void Encode_Max()
 {
     var lnk = new ELink(ulong.MaxValue, null);
     lnk.Encode(1);
     Assert.AreEqual("CHBRHM-VIVIVIVI-VIVIVIVI", lnk.Link);
 }
Example #38
0
        /// <summary>
        /// Override to decode session ID GUID from string representation. Return null if conversion not possible
        /// </summary>
        protected virtual Guid? DecodeSessionID(WorkContext work, string id, bool hasApiHeaders, out ulong idSecret)
        {
            ELink encoded;
            Guid guid;
            ulong secret;

            try
            {
              encoded = new ELink(id);
              secret = encoded.ID;
              guid = new Guid(encoded.Metadata);
            }
            catch
            {
              idSecret = 0;
              return null;
            }

            idSecret = secret;
            return guid;
        }