Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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));
        }