diff options
Diffstat (limited to 'qpid/dotnet/client-010/client/transport/util/UUID.cs')
-rw-r--r-- | qpid/dotnet/client-010/client/transport/util/UUID.cs | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/qpid/dotnet/client-010/client/transport/util/UUID.cs b/qpid/dotnet/client-010/client/transport/util/UUID.cs deleted file mode 100644 index 07a3d267a5..0000000000 --- a/qpid/dotnet/client-010/client/transport/util/UUID.cs +++ /dev/null @@ -1,129 +0,0 @@ -/* -* -* Licensed to the Apache Software Foundation (ASF) under one -* or more contributor license agreements. See the NOTICE file -* distributed with this work for additional information -* regarding copyright ownership. The ASF licenses this file -* to you under the Apache License, Version 2.0 (the -* "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an -* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -* KIND, either express or implied. See the License for the -* specific language governing permissions and limitations -* under the License. -* -*/ - -using System; - -namespace org.apache.qpid.transport.util -{ - public class UUID - { - private long _mostSigBits; - private long _leastSigBits; - private static readonly Random _random = new Random(); - private static readonly object _randomLock = new object(); - - - public UUID(long mostSigBits, long leastSigBits) - { - _mostSigBits = mostSigBits; - _leastSigBits = leastSigBits; - } - - public long MostSignificantBits - { - get { return _mostSigBits; } - set { _mostSigBits = value; } - } - - public long LeastSignificantBits - { - get { return _leastSigBits; } - set { _leastSigBits = value; } - } - - internal UUID(byte[] r) - { - MostSignificantBits = 0; - LeastSignificantBits = 0; - for (int i = 0; i < 8; i++) - MostSignificantBits = (MostSignificantBits << 8) | (r[i] & 0xff); - for (int i = 8; i < 16; i++) - LeastSignificantBits = (LeastSignificantBits << 8) | (r[i] & 0xff); - } - - public static UUID RandomUuid() - { - byte[] randomBytes = new byte[16]; - lock (_randomLock) - { - _random.NextBytes(randomBytes); - } - - randomBytes[6] &= 0x0f; - randomBytes[6] |= 0x40; - randomBytes[8] &= 0x3f; - randomBytes[8] |= 0x80; - - return new UUID(randomBytes); - } - - - public override String ToString() - { - return (Digits(_mostSigBits >> 32, 8) + "-" + - Digits(_mostSigBits >> 16, 4) + "-" + - Digits(_mostSigBits, 4) + "-" + - Digits(_leastSigBits >> 48, 4) + "-" + - Digits(_leastSigBits, 12)); - } - - private static String Digits(long val, int digits) - { - long hi = 1L << (digits * 4); - return Convert.ToString((hi | (val & (hi - 1))), 16); - } - - #region equality - public bool Equals(UUID other) - { - if (ReferenceEquals(null, other)) return false; - if (ReferenceEquals(this, other)) return true; - return other._mostSigBits == _mostSigBits && other._leastSigBits == _leastSigBits; - } - - public override bool Equals(object obj) - { - if (ReferenceEquals(null, obj)) return false; - if (ReferenceEquals(this, obj)) return true; - if (obj.GetType() != typeof (UUID)) return false; - return Equals((UUID) obj); - } - - public override int GetHashCode() - { - unchecked - { - return (_mostSigBits.GetHashCode()*397) ^ _leastSigBits.GetHashCode(); - } - } - - public static bool operator ==(UUID left, UUID right) - { - return Equals(left, right); - } - - public static bool operator !=(UUID left, UUID right) - { - return !Equals(left, right); - } - #endregion - } -} |