// Token: 0x06000007 RID: 7 RVA: 0x000025F4 File Offset: 0x000007F4
        public override async Task <ComplianceMessage> GetResponseAsync(ComplianceMessage message)
        {
            byte[] messageBlob  = ComplianceSerializer.Serialize <ComplianceMessage>(ComplianceMessage.Description, message);
            byte[] responseBlob = await this.TakeActionWithRetryOnCommunicationException <byte[]>(async() => await this.ProxyClient.ProcessMessageAsync(messageBlob), true);

            return(ComplianceSerializer.DeSerialize <ComplianceMessage>(ComplianceMessage.Description, responseBlob));
        }
Exemple #2
0
 public static IEnumerable <ComplianceMessage> GetMessagesFromBlobs(IEnumerable <byte[]> blobs)
 {
     if (blobs != null)
     {
         foreach (byte[] blob in blobs)
         {
             yield return(ComplianceSerializer.DeSerialize <ComplianceMessage>(ComplianceMessage.Description, blob));
         }
     }
     yield break;
 }
Exemple #3
0
        // Token: 0x06000119 RID: 281 RVA: 0x00006C1C File Offset: 0x00004E1C
        internal override void UpdateJobResults()
        {
            long num  = 0L;
            long num2 = 0L;

            foreach (KeyValuePair <ComplianceBindingType, ComplianceBinding> keyValuePair in base.Bindings)
            {
                WorkPayload     workPayload;
                FaultDefinition faultDefinition;
                if (keyValuePair.Value.JobResults != null && keyValuePair.Value.JobResults.Length != 0 && ComplianceSerializer.TryDeserialize <WorkPayload>(WorkPayload.Description, keyValuePair.Value.JobResults, out workPayload, out faultDefinition, "UpdateJobResults", "f:\\15.00.1497\\sources\\dev\\EDiscovery\\src\\TaskDistributionSystem\\TaskDistributionCommon\\ObjectModel\\ComplianceSearch.cs", 325))
                {
                    switch (workPayload.WorkDefinitionType)
                    {
                    case WorkDefinitionType.EDiscovery:
                    {
                        SearchResult searchResult = ComplianceSerializer.DeSerialize <SearchResult>(SearchResult.Description, workPayload.WorkDefinition);
                        if (searchResult != null)
                        {
                            num  += searchResult.TotalCount;
                            num2 += searchResult.TotalSize;
                            if (searchResult.Results != null && searchResult.Results.Count != 0)
                            {
                                foreach (SearchResult.TargetSearchResult item in searchResult.Results)
                                {
                                    this.successfulResults.Add(item);
                                }
                            }
                        }
                        break;
                    }

                    case WorkDefinitionType.Fault:
                        this.UpdateFailureResults(workPayload);
                        break;
                    }
                }
            }
            this.ResultNumber = num;
            this.ResultSize   = num2;
        }
Exemple #4
0
        // Token: 0x06000122 RID: 290 RVA: 0x00007204 File Offset: 0x00005404
        private void ParseSearchCondtions(List <byte[]> conditions)
        {
            if (conditions == null || conditions.Count == 0)
            {
                return;
            }
            foreach (byte[] blob in conditions)
            {
                ComplianceSearchCondition complianceSearchCondition = ComplianceSerializer.DeSerialize <ComplianceSearchCondition>(ComplianceSearchCondition.Description, blob);
                if (complianceSearchCondition != null)
                {
                    switch (complianceSearchCondition.Name)
                    {
                    case ComplianceSearchCondition.ConditionName.StartDate:
                    {
                        DateTime value;
                        if (this.TryParseDateString(complianceSearchCondition.Content, out value))
                        {
                            this.StartDate = new DateTime?(value);
                        }
                        break;
                    }

                    case ComplianceSearchCondition.ConditionName.EndDate:
                    {
                        DateTime value;
                        if (this.TryParseDateString(complianceSearchCondition.Content, out value))
                        {
                            this.EndDate = new DateTime?(value);
                        }
                        break;
                    }
                    }
                }
            }
        }