internal static bool TryReadFromPayloadReference(PayloadReference payloadReference, out Guid jobRunId, out int taskId, out PayloadLevel payloadLevel) { jobRunId = Guid.Empty; taskId = -1; payloadLevel = PayloadLevel.Job; bool result; try { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); PayloadIdentifier payloadIdentifier = javaScriptSerializer.Deserialize <PayloadIdentifier>(payloadReference.PayloadId); jobRunId = payloadIdentifier.JobRunId; if (payloadIdentifier.TaskId > -1) { taskId = payloadIdentifier.TaskId; payloadLevel = PayloadLevel.Task; } else { payloadLevel = PayloadLevel.Job; } result = true; } catch (Exception) { result = false; } return(result); }
// Token: 0x06000038 RID: 56 RVA: 0x00002D10 File Offset: 0x00000F10 protected RetrievedPayload RetrieveJobDistributionPayload(OrganizationId organizationId, Guid jobRunId, int taskId) { RetrievedPayload retrievedPayload = new RetrievedPayload(); ComplianceJobProvider complianceJobProvider = new ComplianceJobProvider(organizationId); Guid tenantGuid = organizationId.GetTenantGuid(); retrievedPayload.IsComplete = this.HasMoreTasks(organizationId, jobRunId); IEnumerable <CompositeTask> enumerable = from x in complianceJobProvider.FindCompositeTasks(tenantGuid, jobRunId, null, null) where x.TaskId > taskId select x; if (enumerable != null) { foreach (CompositeTask compositeTask in enumerable) { JobPayload jobPayload = new JobPayload(); jobPayload.Target = new Target { TargetType = Target.Type.MailboxSmtpAddress, Identifier = compositeTask.UserMaster }; PayloadReference payloadReference = PayloadHelper.GetPayloadReference(jobRunId, compositeTask.TaskId); jobPayload.Children.Add(ComplianceSerializer.Serialize <PayloadReference>(PayloadReference.Description, payloadReference)); retrievedPayload.Children.Add(jobPayload); retrievedPayload.Bookmark = compositeTask.TaskId.ToString(); } return(retrievedPayload); } throw new ArgumentException(string.Format("Not Task Data Found. TenantId-{0} JobId-{1} and TaskId-{2}", tenantGuid, jobRunId, taskId)); }
public void Ctor() { var reference = new PayloadReference(Valid.Location, Valid.Hash, Valid.Key, Valid.IV, Valid.ExpirationUtc); Assert.That(reference.Location, Is.SameAs(Valid.Location)); Assert.That(reference.Hash, Is.SameAs(Valid.Hash)); Assert.That(reference.Key, Is.SameAs(Valid.Key)); Assert.That(reference.IV, Is.SameAs(Valid.IV)); Assert.That(reference.ExpiresUtc, Is.EqualTo(Valid.ExpirationUtc)); }
public void Ctor() { var reference = new PayloadReference(Valid.Location, Valid.Hash, Valid.Key, Valid.IV, Valid.ExpirationUtc); Assert.That(reference.Location, Is.SameAs(Valid.Location)); Assert.That(reference.Hash, Is.SameAs(Valid.Hash)); Assert.That(reference.Key, Is.SameAs(Valid.Key)); Assert.That(reference.IV, Is.SameAs(Valid.IV)); Assert.That(reference.ExpiresUtc, Is.EqualTo(Valid.ExpirationUtc)); }
public void Ctor() { var reference = new PayloadReference(Valid.Location, Valid.Hash, Valid.HashAlgorithmName, Valid.Key, Valid.IV, Valid.ExpirationUtc); Assert.Same(Valid.Location, reference.Location); Assert.Equal(Valid.HashAlgorithmName, reference.HashAlgorithmName); Assert.Same(Valid.Hash, reference.Hash); Assert.Same(Valid.Key, reference.Key); Assert.Same(Valid.IV, reference.IV); Assert.Equal(Valid.ExpirationUtc, reference.ExpiresUtc); }
public void Ctor() { var reference = new PayloadReference(Valid.Location, Valid.Hash, Valid.HashAlgorithmName, Valid.Key, Valid.IV, Valid.ExpirationUtc); Assert.Same(Valid.Location, reference.Location); Assert.Equal(Valid.HashAlgorithmName, reference.HashAlgorithmName); Assert.Same(Valid.Hash, reference.Hash); Assert.Same(Valid.Key, reference.Key); Assert.Same(Valid.IV, reference.IV); Assert.Equal(Valid.ExpirationUtc, reference.ExpiresUtc); }
public IEnumerable <T> RetrievePayload <T>(ComplianceSerializationDescription <T> description, PayloadReference reference, int count = 2147483647) where T : Payload, new() { ComplianceMessage message = new ComplianceMessage { CorrelationId = Guid.NewGuid(), ComplianceMessageType = ComplianceMessageType.RetrieveRequest, WorkDefinitionType = WorkDefinitionType.Unrecognized }; bool isComplete = false; string bookmark = null; DriverClientBase driverClient; if (Registry.Instance.TryGetInstance <DriverClientBase>(RegistryComponent.Client, ClientType.DriverClient, out driverClient, out this.faultDefinition, "RetrievePayload", "f:\\15.00.1497\\sources\\dev\\EDiscovery\\src\\TaskDistributionSystem\\TaskDistributionFabric\\Payload\\PayloadRetriever.cs", 161)) { for (;;) { reference.Bookmark = bookmark; reference.Count = count; message.Payload = ComplianceSerializer.Serialize <PayloadReference>(PayloadReference.Description, reference); Task <ComplianceMessage> payloadTask = driverClient.GetResponseAsync(message); if (!payloadTask.Wait(TaskDistributionSettings.DataLookupTime)) { break; } ComplianceMessage payloadResponse = payloadTask.Result; RetrievedPayload retrievedPayload; if (ComplianceSerializer.TryDeserialize <RetrievedPayload>(RetrievedPayload.Description, payloadResponse.Payload, out retrievedPayload, out this.faultDefinition, "RetrievePayload", "f:\\15.00.1497\\sources\\dev\\EDiscovery\\src\\TaskDistributionSystem\\TaskDistributionFabric\\Payload\\PayloadRetriever.cs", 174)) { bookmark = retrievedPayload.Bookmark; isComplete = retrievedPayload.IsComplete; foreach (byte[] childBlob in retrievedPayload.Children) { T payload; if (ComplianceSerializer.TryDeserialize <T>(description, childBlob, out payload, out this.faultDefinition, "RetrievePayload", "f:\\15.00.1497\\sources\\dev\\EDiscovery\\src\\TaskDistributionSystem\\TaskDistributionFabric\\Payload\\PayloadRetriever.cs", 181)) { yield return(payload); } } } if (count <= 1) { goto IL_236; } if (isComplete) { goto Block_5; } } throw new TimeoutException(); Block_5: IL_236: yield break; } throw new InvalidOperationException(); }