private FileQueue(QueueConfig config) { dataConverter = config.DataConverter; fileManager = new FileManager(config.QueueDirectory, config.QueueName, config.MaxQueueSize, DataBlock.BlockPartSize, config.ReadBufferSize); isUseTimeout = config.DequeueTimeoutMilliseconds > 0; if (isUseTimeout) { dequeueTimeout = TimeSpan.FromMilliseconds(config.DequeueTimeoutMilliseconds); } }
public static IFileQueue <T> Create(QueueConfig config) { if (string.IsNullOrWhiteSpace(config.QueueDirectory)) { throw new ArgumentNullException("QueueDirectory is null or empty."); } else if (string.IsNullOrWhiteSpace(config.QueueName)) { throw new ArgumentNullException("QueueName is null or empty."); } else if (config.DataConverter == null) { throw new ArgumentNullException("DataConverter is null"); } return(new FileQueue <T>(config)); }