/// <summary>
        /// Create message queue with queueName.
        /// </summary>
        /// <param name="queueName"></param>
        /// <returns></returns>
        public ControlQueue CreateQueue(string queueName)
        {
            if (String.IsNullOrWhiteSpace(_hostname))
            {
                throw new ArgumentException("HostName was not found. You must specify hostname to start remotechunking in a step.");
            }

            QueueConnectionProvider queueConnectionProvider = new QueueConnectionProvider();

            queueConnectionProvider.UserName = _username;
            queueConnectionProvider.PassWord = _password;
            queueConnectionProvider.HostName = _hostname;
            ControlQueue controlQueue = new ControlQueue();

            controlQueue.ConnectionProvider = queueConnectionProvider;
            controlQueue.QueueName          = queueName;
            controlQueue.CreateQueue();

            return(controlQueue);
        }
        public RemoteChunking(string hostname, string username, string password, bool master)
        {
            _hostname             = hostname;
            _username             = username;
            _password             = password;
            _master               = master;
            _controlQueue         = CreateQueue(ControlQueue);
            _masterQueue          = CreateQueue(MasterQueue);
            _workerCompletedQueue = CreateQueue(WorkerCompletedQueue);
            _workerStartedQueue   = CreateQueue(WorkerStartedQueue);
            _workerLifeLineQueue  = CreateQueue(WorkerLifeLineQueue);
            _masterLifeLineQueue  = CreateQueue(MasterLifeLienQueue);

            //master need to initialize hashmap
            if (_master)
            {
                _workerMap  = new Dictionary <string, bool>();
                _maxTimeOut = new TimeSpan(6000);
            }
        }