/// <summary>
 /// Ctor. Synchronous or async agent.
 /// </summary>
 /// <remarks>Async is generally much faster when scanning several files but only appropriate for use with a
 /// service or GUI application that has a long running main thread. A synchronous agent is appropriate when
 /// the Scan() method should not exit until all scanning is complete such as with a syncronos scan as part
 /// of an upload/download or console applciation.</remarks>
 /// <param name="host">computer running clamd</param>
 /// <param name="port">TCP port clamd listens on</param>
 /// <param name="model">whether to queue each file to it's own thread for scanning</param>
 /// <param name="verbose">whether to use verbose logging or only log errors and viruses</param>
 public ClamdStreamAgent(string host, int port, VirusScanAgent.ThreadingModel model, bool verbose)
 {
     _logger      = LogManager.GetLogger(this.GetType());
     _host        = host;
     _port        = port;
     _threadModel = model;
     _verbose     = verbose;
 }
		/// <summary>
		/// Ctor. Synchronous or async agent. 
		/// </summary>
		/// <remarks>Async is generally much faster when scanning several files but only appropriate for use with a 
		/// service or GUI application that has a long running main thread. A synchronous agent is appropriate when 
		/// the Scan() method should not exit until all scanning is complete such as with a syncronos scan as part 
		/// of an upload/download or console applciation.</remarks>
		/// <param name="host">computer running clamd</param>
		/// <param name="port">TCP port clamd listens on</param>
		/// <param name="model">whether to queue each file to it's own thread for scanning</param>
		/// <param name="verbose">whether to use verbose logging or only log errors and viruses</param>
		public ClamdStreamAgent(string host, int port, VirusScanAgent.ThreadingModel model, bool verbose )
		{
			_logger = LogManager.GetLogger(this.GetType());
			_host = host;
			_port = port;
			_threadModel = model;
			_verbose = verbose;
		}