private static WatermarkMap GetVectorToFilterRelocationData(ADRawEntry org) { WatermarkMap watermarkMap = WatermarkMap.Empty; byte[] array = (byte[])org[TenantRelocationRequestSchema.TenantRelocationCompletionTargetVector]; if (array != null) { try { watermarkMap = WatermarkMap.Parse(array); } catch (FormatException arg) { ExTraceGlobals.BackSyncTracer.TraceError <ADObjectId, FormatException>((long)SyncConfiguration.TraceId, "TenantRelocationProcessor::GetVectorToFilterRelocationData - Error parsing relocation completion vector tenant {0}. Error {1}.", org.Id, arg); } } ExTraceGlobals.BackSyncTracer.TraceDebug <ADObjectId, string>((long)SyncConfiguration.TraceId, "TenantRelocationProcessor::GetVectorToFilterRelocationData - Relocation completion vector found for tenant {0} is:\\n{1}.", org.Id, watermarkMap.SerializeToString()); return(watermarkMap); }
public static bool TryFromBytes(byte[] cookieData, out SyncCookie cookie, out Exception ex) { ex = null; cookie = null; if (cookieData == null) { ex = new ArgumentNullException("cookieData"); return(false); } try { string @string = Encoding.UTF8.GetString(cookieData); string[] array = @string.Split(new string[] { SyncCookie.Delimiter }, StringSplitOptions.None); if (array.Length < 1) { ex = new InvalidCookieException(); return(false); } int num = int.Parse(array[0]); if (num != 1 && num != 2 && num != 3) { ex = new CookieVersionUnsupportedException(num); return(false); } if (((num == 1 || num == 2) && array.Length != 5) || (num == 3 && array.Length != 6)) { ex = new InvalidCookieException(); return(false); } Guid guid = new Guid(array[1]); WatermarkMap watermarkMap = WatermarkMap.Empty; if (num == 1) { long value = long.Parse(array[2]); watermarkMap.Add(guid, value); } else { watermarkMap = WatermarkMap.Parse(array[2]); } WatermarkMap watermarkMap2 = WatermarkMap.Empty; if (num == 1) { long value2 = long.Parse(array[3]); watermarkMap2.Add(guid, value2); } else { watermarkMap2 = WatermarkMap.Parse(array[3]); } byte[] pageCookie = null; if (!string.IsNullOrEmpty(array[4])) { pageCookie = Convert.FromBase64String(array[4]); } byte[] pageCookie2 = null; if (num == 3 && !string.IsNullOrEmpty(array[5])) { pageCookie2 = Convert.FromBase64String(array[5]); } cookie = new SyncCookie(guid, watermarkMap, watermarkMap2, pageCookie, pageCookie2); } catch (DecoderFallbackException innerException) { ex = new InvalidCookieException(innerException); return(false); } catch (FormatException innerException2) { ex = new InvalidCookieException(innerException2); return(false); } catch (OverflowException innerException3) { ex = new InvalidCookieException(innerException3); return(false); } return(true); }