public bool IsNotSeenBefore(Message message, out byte[] id, out int cacheHit) { cacheHit = -1; id = PeerNodeImplementation.DefaultId; if (message is SecurityVerifiedMessage) { id = (message as SecurityVerifiedMessage).PrimarySignatureValue; } else { System.Xml.UniqueId messageId = PeerMessageHelpers.GetHeaderUniqueId(message.Headers, PeerStrings.MessageId, PeerStrings.Namespace); if (messageId == null) { return(false); } if (messageId.IsGuid) { id = new byte[16]; messageId.TryGetGuid(id, 0); } else { return(false); } } cacheHit = messageIds.AddForLookup(id); if (cacheHit == -1) { return(true); } return(false); }
public override void WriteUniqueIdText(UniqueId value) { if (value.IsGuid) { int num; byte[] textNodeBuffer = this.GetTextNodeBuffer(0x11, out num); textNodeBuffer[num] = 0xac; value.TryGetGuid(textNodeBuffer, num + 1); base.Advance(0x11); } else { this.WriteText(value.ToString()); } }
public override void WriteValue(UniqueId value) { if (value == null) { throw new ArgumentNullException("value"); } Guid guid; if (value.TryGetGuid(out guid)) { // this conditional branching is required for // attr_typed_value not being true. ProcessTypedValue(); writer.Write(BF.UniqueId); byte [] bytes = guid.ToByteArray(); writer.Write(bytes, 0, bytes.Length); } else { WriteValue(value.ToString()); } }
public override void WriteValue (UniqueId value) { if (value == null) throw new ArgumentNullException ("value"); Guid guid; if (value.TryGetGuid (out guid)) { // this conditional branching is required for // attr_typed_value not being true. ProcessTypedValue (); writer.Write (BF.UniqueId); byte [] bytes = guid.ToByteArray (); writer.Write (bytes, 0, bytes.Length); } else { WriteValue (value.ToString ()); } }
public override void WriteUniqueIdText(UniqueId value) { if (value.IsGuid) { int offset; byte[] buffer = GetTextNodeBuffer(17, out offset); buffer[offset] = (byte)XmlBinaryNodeType.UniqueIdText; value.TryGetGuid(buffer, offset + 1); Advance(17); } else { WriteText(value.ToString()); } }
static Guid GetTrackingId(UniqueId uniqueId) { Guid requestId; if (!uniqueId.TryGetGuid(out requestId)) { return Guid.Empty; } return requestId; }