Beispiel #1
0
        public LocatedBlock AddBlock(string srcFile)
        {
            var randomDataNodeID   = _dataNodeRepository.GetRandomDataNodeId();
            var dataNodeDescriptor = _dataNodeRepository.GetDataNodeDescriptorById(randomDataNodeID);

            var dataNodeID = new DataNodeId {
                HostName = dataNodeDescriptor.HostName, IPAddress = dataNodeDescriptor.IPAddress
            };
            var dataNodeIds = new List <DataNodeId> {
                dataNodeID
            };

            var blockId = Guid.NewGuid();
            var block   = new Block(blockId, 0, DateTime.Now);

            var blockInfo = new BlockInfo(block, dataNodeIds);

            var node = _fileSystem.GetFile(srcFile);

            node.AddBlock(blockInfo);

            var locatedBlock = new LocatedBlock
            {
                Block     = block,
                Locations = dataNodeIds
            };

            return(locatedBlock);
        }