示例#1
0
        public static void deleteAllChunksOfFile(String name)
        {
            var fileChunks = (from chunk in DfsWorkerUtils.listWorkingDirectory()
                              where chunk.fileName == name
                              select chunk).ToList();

            if (fileChunks.Count == 0)
            {
                throw new ArgumentException("No chunk of file exists on this worker!");
            }
            foreach (var chunks in fileChunks)
            {
                DfsWorkerUtils.deleteChunk(name, chunks.chunkId);
            }
        }
示例#2
0
        public object Delete(DeleteChunk request)
        {
            if (request.chunkId < -1)
            {
                throw new Exception("Chunk ID can not be negative! (Eventually use -1 to delete all chunks)");
            }

            if (request.chunkId == -1)               //delete all chunks of file
            {
                DfsWorkerUtils.deleteAllChunksOfFile(request.FileName);
            }
            else
            {
                DfsWorkerUtils.deleteChunk(request.FileName, request.chunkId);
            }
            return(true);
        }