<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crashpad: crashpad::CrashReportUploadThread::Options Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="crashpad_doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Crashpad
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacecrashpad.html">crashpad</a></li><li class="navelem"><a class="el" href="classcrashpad_1_1CrashReportUploadThread.html">CrashReportUploadThread</a></li><li class="navelem"><a class="el" href="structcrashpad_1_1CrashReportUploadThread_1_1Options.html">Options</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structcrashpad_1_1CrashReportUploadThread_1_1Options-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">crashpad::CrashReportUploadThread::Options Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><a class="el" href="structcrashpad_1_1CrashReportUploadThread_1_1Options.html" title="Options to be passed to the CrashReportUploadThread constructor. ">Options</a> to be passed to the <a class="el" href="classcrashpad_1_1CrashReportUploadThread.html" title="A thread that processes pending crash reports in a CrashReportDatabase by uploading them or marking t...">CrashReportUploadThread</a> constructor.  
 <a href="structcrashpad_1_1CrashReportUploadThread_1_1Options.html#details">More...</a></p>

<p><code>#include &quot;handler/crash_report_upload_thread.h&quot;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a23fc3f4469701f1e28fe3d088209a879"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1CrashReportUploadThread_1_1Options.html#a23fc3f4469701f1e28fe3d088209a879">identify_client_via_url</a></td></tr>
<tr class="separator:a23fc3f4469701f1e28fe3d088209a879"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2dc005799a5a76c81f345de04d3a366"><td class="memItemLeft" align="right" valign="top"><a id="ae2dc005799a5a76c81f345de04d3a366"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1CrashReportUploadThread_1_1Options.html#ae2dc005799a5a76c81f345de04d3a366">rate_limit</a></td></tr>
<tr class="memdesc:ae2dc005799a5a76c81f345de04d3a366"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether uploads should be throttled to a (currently hardcoded) rate. <br /></td></tr>
<tr class="separator:ae2dc005799a5a76c81f345de04d3a366"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e06bd462dabf00e7d498e5bf67fe61b"><td class="memItemLeft" align="right" valign="top"><a id="a8e06bd462dabf00e7d498e5bf67fe61b"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1CrashReportUploadThread_1_1Options.html#a8e06bd462dabf00e7d498e5bf67fe61b">upload_gzip</a></td></tr>
<tr class="memdesc:a8e06bd462dabf00e7d498e5bf67fe61b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether uploads should use <code>gzip</code> compression. <br /></td></tr>
<tr class="separator:a8e06bd462dabf00e7d498e5bf67fe61b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d7c4cdb2bd022a50c29818b332f22eb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1CrashReportUploadThread_1_1Options.html#a7d7c4cdb2bd022a50c29818b332f22eb">watch_pending_reports</a></td></tr>
<tr class="separator:a7d7c4cdb2bd022a50c29818b332f22eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="structcrashpad_1_1CrashReportUploadThread_1_1Options.html" title="Options to be passed to the CrashReportUploadThread constructor. ">Options</a> to be passed to the <a class="el" href="classcrashpad_1_1CrashReportUploadThread.html" title="A thread that processes pending crash reports in a CrashReportDatabase by uploading them or marking t...">CrashReportUploadThread</a> constructor. </p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="a23fc3f4469701f1e28fe3d088209a879"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23fc3f4469701f1e28fe3d088209a879">&#9670;&nbsp;</a></span>identify_client_via_url</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::CrashReportUploadThread::Options::identify_client_via_url</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Whether client identifying parameters like product name or version should be added to the URL. </p>

</div>
</div>
<a id="a7d7c4cdb2bd022a50c29818b332f22eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d7c4cdb2bd022a50c29818b332f22eb">&#9670;&nbsp;</a></span>watch_pending_reports</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::CrashReportUploadThread::Options::watch_pending_reports</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Whether to periodically check for new pending reports not already known to exist. When <code>false</code>, only an initial upload attempt will be made for reports known to exist by having been added by the <a class="el" href="classcrashpad_1_1CrashReportUploadThread.html#aa4b8b9f51c1a90b3f3c62d4b4cf0146d" title="Informs the upload thread that a new pending report has been added to the database. ">ReportPending()</a> method. No scans for new pending reports will be conducted. </p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>handler/crash_report_upload_thread.h</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>
