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); }
public AppRemoteTerminal() { m_ID = AppRemoteTerminalRegistry.GenerateId(); m_Name = new ELink((ulong)m_ID, null).Link; m_Vars = new Vars(); m_ScriptRunner = new ScriptRunner(); }
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); }
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; }
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(); }
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(); }
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(); }
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]); }
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); } }
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); }
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]); }
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); } }
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]); }
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]); }
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))); }
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()); }
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"))); }
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()); }
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]); }
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]); }
/// <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); }
/// <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); }
/// <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); }
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(); } }
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(); } }
/// <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); }
/// <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; }
/// <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; }
/// <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; }
/// <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); }
public void Encode_Min() { var lnk = new ELink(0, null); lnk.Encode(1); Assert.AreEqual("AIAIAJ-AJ", lnk.Link); }
/// <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; }
public string Stringify() { var eLink = new ELink(G_Volume, G_Comment.Bytes); return(eLink.Link); }
private void btnDecode_Click(object sender, EventArgs e) { var lnk2 = new ELink(tbELink.Text); tbResult.Text = lnk2.GDID.ToString(); }
private string generateUniqueID() { ulong id = (((ulong)ExternalRandomGenerator.Instance.NextRandomInteger) << 32) + ((ulong)ExternalRandomGenerator.Instance.NextRandomInteger); var eLink = new ELink(id, new byte[] { }); return eLink.Link; }
/// <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; }
public void Encode_Max() { var lnk = new ELink(ulong.MaxValue, null); lnk.Encode(1); Assert.AreEqual("CHBRHM-VIVIVIVI-VIVIVIVI", lnk.Link); }
/// <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; }