/// <summary>
 /// Deletes scanner.
 /// </summary>
 /// <param name="tableName">the table the scanner is associated with.</param>
 /// <param name="scannerInfo">the scanner information retrieved by #CreateScanner()</param>
 /// <param name="options">
 /// the request options, scan requests must set endpoint(Gateway mode) or host(VNET mode) to receive
 /// the scan request
 /// </param>
 public async Task DeleteScannerAsync(string tableName, ScannerInformation scannerInfo, RequestOptions options)
 {
     tableName.ArgumentNotNullNorEmpty("tableName");
     scannerInfo.ArgumentNotNull("scannerInfo");
     options.ArgumentNotNull("options");
     await options.RetryPolicy.ExecuteAsync(() => DeleteScannerAsyncInternal(tableName, scannerInfo, options));
 }
 /// <summary>
 /// Scans the next set of messages.
 /// </summary>
 /// <param name="scannerInfo">the scanner information retrieved by #CreateScanner()</param>
 /// <param name="options">
 /// the request options, scan requests must set endpoint(Gateway mode) or host(VNET mode) to receive
 /// the scan request
 /// </param>
 /// <returns>a cellset, or null if the scanner is exhausted</returns>
 public async Task <CellSet> ScannerGetNextAsync(ScannerInformation scannerInfo, RequestOptions options)
 {
     scannerInfo.ArgumentNotNull("scannerInfo");
     options.ArgumentNotNull("options");
     return(await options.RetryPolicy.ExecuteAsync(() => ScannerGetNextAsyncInternal(scannerInfo, options)));
 }