Esempio n. 1
0
        /// <summary>
        /// Adds the actual .dmp file from sourcePath to the repo+storage
        /// Does NOT start analysis
        /// </summary>
        /// <returns></returns>
        public async Task <DumpMetainfo> CreateDump(string bundleId, FileInfo sourcePath)
        {
            DumpMetainfo dumpInfo;
            string       dumpId;

            dumpId   = CreateUniqueDumpId();
            dumpInfo = new DumpMetainfo()
            {
                BundleId     = bundleId,
                DumpId       = dumpId,
                DumpFileName = Utility.MakeRelativePath(pathHelper.GetUploadsDir(), sourcePath),
                DumpType     = DetermineDumpType(sourcePath),
                Created      = DateTime.Now,
                Status       = DumpStatus.Created
            };
            if (!dumps.ContainsKey(bundleId))
            {
                dumps[bundleId] = new ConcurrentDictionary <string, DumpMetainfo>();
            }
            dumps[bundleId][dumpId] = dumpInfo;
            storage.Create(dumpInfo.Id);

            FileInfo destFile = await storage.AddFileCopy(dumpInfo.Id, sourcePath);

            AddSDFile(dumpInfo.Id, destFile.Name, SDFileType.PrimaryDump);
            return(dumpInfo);
        }
Esempio n. 2
0
        /// <summary>
        /// Adds the actual .dmp file from sourcePath to the repo+storage
        /// Does NOT start analysis
        /// </summary>
        /// <returns></returns>
        public async Task <DumpMetainfo> CreateDump(string bundleId, FileInfo sourcePath, DumpType dumpType)
        {
            DumpMetainfo dumpInfo = CreateDumpMetainfo(bundleId);

            dumpInfo.DumpFileName = Utility.MakeRelativePath(pathHelper.GetUploadsDir(), sourcePath);
            dumpInfo.DumpType     = dumpType;

            FileInfo destFile = await storage.AddFileCopy(dumpInfo.Id, sourcePath);

            AddSDFile(dumpInfo.Id, destFile.Name, SDFileType.PrimaryDump);
            return(dumpInfo);
        }