/// <summary> /// Initialises an instance of the <see cref="DataTransferService"/> class. /// </summary> /// <param name="logger"></param> /// <param name="publisher"> /// The client to use for sending messages to a message broker. /// </param> /// <param name="fileHelper"> /// Helper for working with files. /// </param> /// <param name="configuration"> /// The configuration parameters for where the files are located. /// </param> /// <param name="bufferSize"> /// The size of the read buffer to use when loading each data file's contents. /// </param> public DataTransferService(ILogger logger, IMessagePublisher publisher, IFileHelper fileHelper, ILed led, BufferedConfiguration configuration, int bufferSize = 400) : base(logger, typeof(DataTransferService)) { publisher.ShouldNotBeNull(); fileHelper.ShouldNotBeNull(); configuration.ShouldNotBeNull(); led.ShouldNotBeNull(); m_ResourceLoader = new ServicesResourceLoader(); m_FileHelper = fileHelper; m_SyncObject = new object(); m_Publisher = publisher; m_BufferSize = bufferSize; m_Configuration = configuration; m_Led = led; m_TransferLimit = 5; m_MaximumFileSizeInBytes = 1500; }