Ejemplo n.º 1
0
        /// <summary>
        /// Create a new train
        /// </summary>
        /// <param name="configuration"></param>
        /// <param name="index"></param>
        /// <returns></returns>
        public ITrain Create(FilePoolConfiguration configuration, int index)
        {
            ITrain train = new Train(_serviceProvider.GetService <ILogger <Train> >(), configuration, index);

            _logger.LogDebug("Create new train '{0}' in file pool '{1}' .", index, configuration.Name);
            return(train);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Ctor
        /// </summary>
        /// <param name="logger"></param>
        /// <param name="configuration"></param>
        /// <param name="index"></param>
        public Train(
            ILogger <Train> logger,
            FilePoolConfiguration configuration,
            int index)
        {
            _logger        = logger;
            _configuration = configuration;

            Name      = TrainUtil.GenerateTrainName(index);
            Path      = TrainUtil.GenerateTrainPath(configuration.Path, Name);
            Index     = index;
            TrainType = TrainType.Default;

            _pendingQueue    = new ConcurrentQueue <SpoolFile>();
            _progressingDict = new ConcurrentDictionary <string, SpoolFile>();
        }