blob: fcdfae257ae7df9929cd5f4d770ef37a1bd43476 [file] [log] [blame]
<!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.3"/>
<title>Lucene.Net: Lucene.Net.Store.MMapDirectory Class 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/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="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="projectlogo"><img alt="Logo" src="lucene-net-icon-128x128.png"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">Lucene.Net
&#160;<span id="projectnumber">3.0.3</span>
</div>
<div id="projectbrief">Lucene.Net is a .NET port of the Java Lucene Indexing Library</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="Index.html"><span>Main&#160;Page</span></a></li>
<li><a href="namespaces.html"><span>Packages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Properties</a></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="namespace_lucene.html">Lucene</a></li><li class="navelem"><a class="el" href="namespace_lucene_1_1_net.html">Net</a></li><li class="navelem"><a class="el" href="namespace_lucene_1_1_net_1_1_store.html">Store</a></li><li class="navelem"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_m_map_directory.html">MMapDirectory</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="class_lucene_1_1_net_1_1_store_1_1_m_map_directory-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Lucene.Net.Store.MMapDirectory Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>File-based <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html" title="A Directory is a flat list of files. Files may be written once, when they are created. Once a file is created it may only be opened for read, or deleted. Random access is permitted both when reading and writing.">Directory</a> implementation that uses mmap for reading, and <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_simple_f_s_directory_1_1_simple_f_s_index_output.html">SimpleFSDirectory.SimpleFSIndexOutput</a> for writing.
<a href="class_lucene_1_1_net_1_1_store_1_1_m_map_directory.html#details">More...</a></p>
<p>Inherits <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html">Lucene.Net.Store.FSDirectory</a>.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><b>MultiMMapIndexInput</b></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ace2b588ce491beeb9461d7c9afe26440"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_m_map_directory.html#ace2b588ce491beeb9461d7c9afe26440">MMapDirectory</a> (System.IO.DirectoryInfo path, <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_lock_factory.html">LockFactory</a> lockFactory)</td></tr>
<tr class="memdesc:ace2b588ce491beeb9461d7c9afe26440"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_m_map_directory.html" title="File-based Directory implementation that uses mmap for reading, and SimpleFSDirectory.SimpleFSIndexOutput for writing.">MMapDirectory</a> for the named location. <a href="#ace2b588ce491beeb9461d7c9afe26440"></a><br/></td></tr>
<tr class="separator:ace2b588ce491beeb9461d7c9afe26440"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ae614a0518d4e247f2ba2bb901434c9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_m_map_directory.html#a5ae614a0518d4e247f2ba2bb901434c9">MMapDirectory</a> (System.IO.DirectoryInfo path)</td></tr>
<tr class="memdesc:a5ae614a0518d4e247f2ba2bb901434c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_m_map_directory.html" title="File-based Directory implementation that uses mmap for reading, and SimpleFSDirectory.SimpleFSIndexOutput for writing.">MMapDirectory</a> for the named location and the default lock factory. <a href="#a5ae614a0518d4e247f2ba2bb901434c9"></a><br/></td></tr>
<tr class="separator:a5ae614a0518d4e247f2ba2bb901434c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac56071555f9bc3b4948bd2c396952378"><td class="memItemLeft" align="right" valign="top">override <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_index_input.html">IndexInput</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_m_map_directory.html#ac56071555f9bc3b4948bd2c396952378">OpenInput</a> (System.String name, int bufferSize)</td></tr>
<tr class="memdesc:ac56071555f9bc3b4948bd2c396952378"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_index_input.html" title="Abstract base class for input from a file in a Directory. A random-access input stream. Used for all Lucene index input operations. ">IndexInput</a> for the file with the given name. <a href="#ac56071555f9bc3b4948bd2c396952378"></a><br/></td></tr>
<tr class="separator:ac56071555f9bc3b4948bd2c396952378"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad420384aa67b5b39141ac46f754f21a9"><td class="memItemLeft" align="right" valign="top">override <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_index_output.html">IndexOutput</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_m_map_directory.html#ad420384aa67b5b39141ac46f754f21a9">CreateOutput</a> (System.String name)</td></tr>
<tr class="memdesc:ad420384aa67b5b39141ac46f754f21a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_index_output.html" title="Abstract base class for output to a file in a Directory. A random-access output stream. Used for all Lucene index output operations. ">IndexOutput</a> for the file with the given name. <a href="#ad420384aa67b5b39141ac46f754f21a9"></a><br/></td></tr>
<tr class="separator:ad420384aa67b5b39141ac46f754f21a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html">Lucene.Net.Store.FSDirectory</a></td></tr>
<tr class="memitem:aca5d785ceced2914a18c848d2481a068 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memItemLeft" align="right" valign="top">override System.String[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html#aca5d785ceced2914a18c848d2481a068">ListAll</a> ()</td></tr>
<tr class="memdesc:aca5d785ceced2914a18c848d2481a068 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lists all files (not subdirectories) in the directory. <a href="#aca5d785ceced2914a18c848d2481a068"></a><br/></td></tr>
<tr class="separator:aca5d785ceced2914a18c848d2481a068 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab98439d9a00c3d8b5c737250c9f5590c inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memItemLeft" align="right" valign="top">override bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html#ab98439d9a00c3d8b5c737250c9f5590c">FileExists</a> (System.String name)</td></tr>
<tr class="memdesc:ab98439d9a00c3d8b5c737250c9f5590c inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true iff a file with the given name exists. <a href="#ab98439d9a00c3d8b5c737250c9f5590c"></a><br/></td></tr>
<tr class="separator:ab98439d9a00c3d8b5c737250c9f5590c inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca2ba2225c3c5f65a1d00dc38005d392 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memItemLeft" align="right" valign="top">override long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html#aca2ba2225c3c5f65a1d00dc38005d392">FileModified</a> (System.String name)</td></tr>
<tr class="memdesc:aca2ba2225c3c5f65a1d00dc38005d392 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the time the named file was last modified. <a href="#aca2ba2225c3c5f65a1d00dc38005d392"></a><br/></td></tr>
<tr class="separator:aca2ba2225c3c5f65a1d00dc38005d392 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c57302da469d7b122d29d64e935effc inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memItemLeft" align="right" valign="top">override void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html#a7c57302da469d7b122d29d64e935effc">TouchFile</a> (System.String name)</td></tr>
<tr class="memdesc:a7c57302da469d7b122d29d64e935effc inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the modified time of an existing file to now. <a href="#a7c57302da469d7b122d29d64e935effc"></a><br/></td></tr>
<tr class="separator:a7c57302da469d7b122d29d64e935effc inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add4ee39c195491aeff84ee4592a84be4 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memItemLeft" align="right" valign="top">override long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html#add4ee39c195491aeff84ee4592a84be4">FileLength</a> (System.String name)</td></tr>
<tr class="memdesc:add4ee39c195491aeff84ee4592a84be4 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the length in bytes of a file in the directory. <a href="#add4ee39c195491aeff84ee4592a84be4"></a><br/></td></tr>
<tr class="separator:add4ee39c195491aeff84ee4592a84be4 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d9a6a69f92227518d5e27a0363f58b0 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memItemLeft" align="right" valign="top">override void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html#a6d9a6a69f92227518d5e27a0363f58b0">DeleteFile</a> (System.String name)</td></tr>
<tr class="memdesc:a6d9a6a69f92227518d5e27a0363f58b0 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes an existing file in the directory. <a href="#a6d9a6a69f92227518d5e27a0363f58b0"></a><br/></td></tr>
<tr class="separator:a6d9a6a69f92227518d5e27a0363f58b0 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd334a77552a373adef367d6707d30ba inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memItemLeft" align="right" valign="top">override void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html#abd334a77552a373adef367d6707d30ba">Sync</a> (System.String name)</td></tr>
<tr class="memdesc:abd334a77552a373adef367d6707d30ba inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ensure that any writes to this file are moved to stable storage. <a class="el" href="namespace_lucene.html">Lucene</a> uses this to properly commit changes to the index, to prevent a machine/OS crash from corrupting the index. <a href="#abd334a77552a373adef367d6707d30ba"></a><br/></td></tr>
<tr class="separator:abd334a77552a373adef367d6707d30ba inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a471b2089fdd070fd543b1ffad3659ab6 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memItemLeft" align="right" valign="top">override <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_index_input.html">IndexInput</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html#a471b2089fdd070fd543b1ffad3659ab6">OpenInput</a> (System.String name)</td></tr>
<tr class="memdesc:a471b2089fdd070fd543b1ffad3659ab6 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a stream reading an existing file. <a href="#a471b2089fdd070fd543b1ffad3659ab6"></a><br/></td></tr>
<tr class="separator:a471b2089fdd070fd543b1ffad3659ab6 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af05baabb53c64d7de5cff18b1ce2d7f4 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memItemLeft" align="right" valign="top">override string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html#af05baabb53c64d7de5cff18b1ce2d7f4">GetLockId</a> ()</td></tr>
<tr class="memdesc:af05baabb53c64d7de5cff18b1ce2d7f4 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a string identifier that uniquely differentiates this <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html" title="A Directory is a flat list of files. Files may be written once, when they are created. Once a file is created it may only be opened for read, or deleted. Random access is permitted both when reading and writing.">Directory</a> instance from other <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html" title="A Directory is a flat list of files. Files may be written once, when they are created. Once a file is created it may only be opened for read, or deleted. Random access is permitted both when reading and writing.">Directory</a> instances. This ID should be the same if two <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html" title="A Directory is a flat list of files. Files may be written once, when they are created. Once a file is created it may only be opened for read, or deleted. Random access is permitted both when reading and writing.">Directory</a> instances (even in different JVMs and/or on different machines) are considered "the same index". This is how locking "scopes" to the right index. <a href="#af05baabb53c64d7de5cff18b1ce2d7f4"></a><br/></td></tr>
<tr class="separator:af05baabb53c64d7de5cff18b1ce2d7f4 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e632c5890208be7253c513430483271 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memItemLeft" align="right" valign="top">override System.String&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html#a1e632c5890208be7253c513430483271">ToString</a> ()</td></tr>
<tr class="memdesc:a1e632c5890208be7253c513430483271 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">For debug output. <a href="#a1e632c5890208be7253c513430483271"></a><br/></td></tr>
<tr class="separator:a1e632c5890208be7253c513430483271 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html">Lucene.Net.Store.Directory</a></td></tr>
<tr class="memitem:a28f7428b0f324cfb7dd4f615b94b0dfb inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_lock.html">Lock</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html#a28f7428b0f324cfb7dd4f615b94b0dfb">MakeLock</a> (System.String name)</td></tr>
<tr class="memdesc:a28f7428b0f324cfb7dd4f615b94b0dfb inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_lock.html" title="An interprocess mutex lock. Typical use might look like:">Lock</a>. <a href="#a28f7428b0f324cfb7dd4f615b94b0dfb"></a><br/></td></tr>
<tr class="separator:a28f7428b0f324cfb7dd4f615b94b0dfb inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af034c6d49f075419935c0cf5b371736f inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html#af034c6d49f075419935c0cf5b371736f">ClearLock</a> (System.String name)</td></tr>
<tr class="memdesc:af034c6d49f075419935c0cf5b371736f inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to clear (forcefully unlock and remove) the specified lock. Only call this at a time when you are certain this lock is no longer in use. <a href="#af034c6d49f075419935c0cf5b371736f"></a><br/></td></tr>
<tr class="separator:af034c6d49f075419935c0cf5b371736f inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6db8d63d7d08a6486db6d8d0fae3efb inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html#ab6db8d63d7d08a6486db6d8d0fae3efb">Close</a> ()</td></tr>
<tr class="separator:ab6db8d63d7d08a6486db6d8d0fae3efb inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee7e78b13b835a9d411cff051e5a101f inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html#aee7e78b13b835a9d411cff051e5a101f">Dispose</a> ()</td></tr>
<tr class="memdesc:aee7e78b13b835a9d411cff051e5a101f inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes the store. <a href="#aee7e78b13b835a9d411cff051e5a101f"></a><br/></td></tr>
<tr class="separator:aee7e78b13b835a9d411cff051e5a101f inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a407c29121f9b5e5b40a79b33f3bdcf29 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html#a407c29121f9b5e5b40a79b33f3bdcf29">SetLockFactory</a> (<a class="el" href="class_lucene_1_1_net_1_1_store_1_1_lock_factory.html">LockFactory</a> lockFactory)</td></tr>
<tr class="memdesc:a407c29121f9b5e5b40a79b33f3bdcf29 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_lock_factory.html" title="Base class for Locking implementation. Directory uses instances of this class to implement locking...">LockFactory</a> that this <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html" title="A Directory is a flat list of files. Files may be written once, when they are created. Once a file is created it may only be opened for read, or deleted. Random access is permitted both when reading and writing.">Directory</a> instance should use for its locking implementation. Each * instance of <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_lock_factory.html" title="Base class for Locking implementation. Directory uses instances of this class to implement locking...">LockFactory</a> should only be used for one directory (ie, do not share a single instance across multiple Directories). <a href="#a407c29121f9b5e5b40a79b33f3bdcf29"></a><br/></td></tr>
<tr class="separator:a407c29121f9b5e5b40a79b33f3bdcf29 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af43436f8f012d994eeecbe80cdb566f2 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="memItemLeft" align="right" valign="top">override string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html#af43436f8f012d994eeecbe80cdb566f2">ToString</a> ()</td></tr>
<tr class="separator:af43436f8f012d994eeecbe80cdb566f2 inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adddfbc37af5bd5ac2b4133c6207a04ab inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html#adddfbc37af5bd5ac2b4133c6207a04ab">EnsureOpen</a> ()</td></tr>
<tr class="memdesc:adddfbc37af5bd5ac2b4133c6207a04ab inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt;throws&gt; <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_already_closed_exception.html" title="This exception is thrown when there is an attempt to access something that has already been closed...">AlreadyClosedException</a> if this <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html" title="A Directory is a flat list of files. Files may be written once, when they are created. Once a file is created it may only be opened for read, or deleted. Random access is permitted both when reading and writing.">Directory</a> is closed &lt;/throws&gt; <a href="#adddfbc37af5bd5ac2b4133c6207a04ab"></a><br/></td></tr>
<tr class="separator:adddfbc37af5bd5ac2b4133c6207a04ab inherit pub_methods_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:af4873ed3df417f1c01dc3e3ca05386fb"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_m_map_directory.html#af4873ed3df417f1c01dc3e3ca05386fb">UNMAP_SUPPORTED</a></td></tr>
<tr class="memdesc:af4873ed3df417f1c01dc3e3ca05386fb"><td class="mdescLeft">&#160;</td><td class="mdescRight"><code>true</code>, if this platform supports unmapping mmaped files. <a href="#af4873ed3df417f1c01dc3e3ca05386fb"></a><br/></td></tr>
<tr class="separator:af4873ed3df417f1c01dc3e3ca05386fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_attribs_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_class_lucene_1_1_net_1_1_store_1_1_f_s_directory')"><img src="closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html">Lucene.Net.Store.FSDirectory</a></td></tr>
<tr class="memitem:acf0169542a81c156510161d16aaf355d inherit pub_static_attribs_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memItemLeft" align="right" valign="top">static readonly int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html#acf0169542a81c156510161d16aaf355d">DEFAULT_READ_CHUNK_SIZE</a> = Constants.JRE_IS_64BIT ? int.MaxValue: 100 * 1024 * 1024</td></tr>
<tr class="memdesc:acf0169542a81c156510161d16aaf355d inherit pub_static_attribs_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default read chunk size. This is a conditional default: on 32bit JVMs, it defaults to 100 MB. On 64bit JVMs, it's <code>Integer.MAX_VALUE</code>. <a href="#acf0169542a81c156510161d16aaf355d"></a><br/></td></tr>
<tr class="separator:acf0169542a81c156510161d16aaf355d inherit pub_static_attribs_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:a30ad4d157e6a9d157f53e027fd9daac9"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_m_map_directory.html#a30ad4d157e6a9d157f53e027fd9daac9">UseUnmap</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a30ad4d157e6a9d157f53e027fd9daac9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the workaround for unmapping the buffers from address space after closing <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_index_input.html" title="Abstract base class for input from a file in a Directory. A random-access input stream. Used for all Lucene index input operations. ">IndexInput</a>, that is mentioned in the bug report. This hack may fail on non-Sun JVMs. It forcefully unmaps the buffer on close by using an undocumented internal cleanup functionality. <b>NOTE:</b> Enabling this is completely unsupported by Java and may lead to JVM crashs if <code><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_index_input.html" title="Abstract base class for input from a file in a Directory. A random-access input stream. Used for all Lucene index input operations. ">IndexInput</a></code> is closed while another thread is still accessing it (SIGSEGV). <a href="#a30ad4d157e6a9d157f53e027fd9daac9"></a><br/></td></tr>
<tr class="separator:a30ad4d157e6a9d157f53e027fd9daac9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d37be4664c6dd0ac070ae271b76d736"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_m_map_directory.html#a2d37be4664c6dd0ac070ae271b76d736">MaxChunkSize</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a2d37be4664c6dd0ac070ae271b76d736"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets or sets the maximum chunk size (default is int.MaxValue for 64 bit JVMs and 256 MiBytes for 32 bit JVMs) used for memory mapping. Especially on 32 bit platform, the address space can be very fragmented, so large index files cannot be mapped. Using a lower chunk size makes the directory implementation a little bit slower (as the correct chunk must be resolved on each seek) but the chance is higher that mmap does not fail. On 64 bit Java platforms, this parameter should always be int.MaxValue, as the adress space is big enough. <a href="#a2d37be4664c6dd0ac070ae271b76d736"></a><br/></td></tr>
<tr class="separator:a2d37be4664c6dd0ac070ae271b76d736"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header properties_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td colspan="2" onclick="javascript:toggleInherit('properties_class_lucene_1_1_net_1_1_store_1_1_f_s_directory')"><img src="closed.png" alt="-"/>&#160;Properties inherited from <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html">Lucene.Net.Store.FSDirectory</a></td></tr>
<tr class="memitem:aa3d77002a85376ccd723d5cc0af8bdd6 inherit properties_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memItemLeft" align="right" valign="top">virtual DirectoryInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html#aa3d77002a85376ccd723d5cc0af8bdd6">Directory</a><code> [get]</code></td></tr>
<tr class="separator:aa3d77002a85376ccd723d5cc0af8bdd6 inherit properties_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15f6b09d7e61e94574f16a7f1af47683 inherit properties_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html#a15f6b09d7e61e94574f16a7f1af47683">ReadChunkSize</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a15f6b09d7e61e94574f16a7f1af47683 inherit properties_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">The maximum number of bytes to read at once from the underlying file during <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_index_input.html#a428913bea51c264523f8c6cecba321e3" title="Reads a specified number of bytes into an array at the specified offset.">IndexInput.ReadBytes(byte[],int,int)</a>. <a href="#a15f6b09d7e61e94574f16a7f1af47683"></a><br/></td></tr>
<tr class="separator:a15f6b09d7e61e94574f16a7f1af47683 inherit properties_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header properties_class_lucene_1_1_net_1_1_store_1_1_directory"><td colspan="2" onclick="javascript:toggleInherit('properties_class_lucene_1_1_net_1_1_store_1_1_directory')"><img src="closed.png" alt="-"/>&#160;Properties inherited from <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html">Lucene.Net.Store.Directory</a></td></tr>
<tr class="memitem:ad11523bdc679a598c4f5e6deb3131366 inherit properties_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_lock_factory.html">LockFactory</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html#ad11523bdc679a598c4f5e6deb3131366">LockFactory</a><code> [get]</code></td></tr>
<tr class="memdesc:ad11523bdc679a598c4f5e6deb3131366 inherit properties_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_lock_factory.html" title="Base class for Locking implementation. Directory uses instances of this class to implement locking...">LockFactory</a> that this <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html" title="A Directory is a flat list of files. Files may be written once, when they are created. Once a file is created it may only be opened for read, or deleted. Random access is permitted both when reading and writing.">Directory</a> instance is using for its locking implementation. Note that this may be null for <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html" title="A Directory is a flat list of files. Files may be written once, when they are created. Once a file is created it may only be opened for read, or deleted. Random access is permitted both when reading and writing.">Directory</a> implementations that provide their own locking implementation. <a href="#ad11523bdc679a598c4f5e6deb3131366"></a><br/></td></tr>
<tr class="separator:ad11523bdc679a598c4f5e6deb3131366 inherit properties_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad53c9747e166be96af86c391777a0793 inherit properties_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html#ad53c9747e166be96af86c391777a0793">isOpen_ForNUnit</a><code> [get]</code></td></tr>
<tr class="separator:ad53c9747e166be96af86c391777a0793 inherit properties_class_lucene_1_1_net_1_1_store_1_1_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html">Lucene.Net.Store.FSDirectory</a></td></tr>
<tr class="memitem:a33ea2927779ca535c4cb90ea0dc76cfa inherit pub_static_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html">FSDirectory</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html#a33ea2927779ca535c4cb90ea0dc76cfa">Open</a> (string path)</td></tr>
<tr class="memdesc:a33ea2927779ca535c4cb90ea0dc76cfa inherit pub_static_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html" title=" Base class for Directory implementations that store index files in the file system. There are currently three core subclasses:">FSDirectory</a> instance, trying to pick the best implementation given the current environment. The directory returned uses the <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_native_f_s_lock_factory.html" title="Implements LockFactory using native OS file locks. Note that because this LockFactory relies on java...">NativeFSLockFactory</a>. <a href="#a33ea2927779ca535c4cb90ea0dc76cfa"></a><br/></td></tr>
<tr class="separator:a33ea2927779ca535c4cb90ea0dc76cfa inherit pub_static_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d1e2d61b9d1ab690e6714b05026d9de inherit pub_static_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html">FSDirectory</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html#a4d1e2d61b9d1ab690e6714b05026d9de">Open</a> (System.IO.DirectoryInfo path)</td></tr>
<tr class="memdesc:a4d1e2d61b9d1ab690e6714b05026d9de inherit pub_static_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html" title=" Base class for Directory implementations that store index files in the file system. There are currently three core subclasses:">FSDirectory</a> instance, trying to pick the best implementation given the current environment. The directory returned uses the <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_native_f_s_lock_factory.html" title="Implements LockFactory using native OS file locks. Note that because this LockFactory relies on java...">NativeFSLockFactory</a>. <a href="#a4d1e2d61b9d1ab690e6714b05026d9de"></a><br/></td></tr>
<tr class="separator:a4d1e2d61b9d1ab690e6714b05026d9de inherit pub_static_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae69df4a802e0f14d19428a5591c00d9f inherit pub_static_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html">FSDirectory</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html#ae69df4a802e0f14d19428a5591c00d9f">Open</a> (System.IO.DirectoryInfo path, <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_lock_factory.html">LockFactory</a> lockFactory)</td></tr>
<tr class="memdesc:ae69df4a802e0f14d19428a5591c00d9f inherit pub_static_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Just like Open(System.IO.DirectoryInfo), but allows you to also specify a custom <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_lock_factory.html" title="Base class for Locking implementation. Directory uses instances of this class to implement locking...">LockFactory</a>. <a href="#ae69df4a802e0f14d19428a5591c00d9f"></a><br/></td></tr>
<tr class="separator:ae69df4a802e0f14d19428a5591c00d9f inherit pub_static_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e5a5dfe5f2b8038044dcc3f20f7fa81 inherit pub_static_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memItemLeft" align="right" valign="top">static System.String[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html#a4e5a5dfe5f2b8038044dcc3f20f7fa81">ListAll</a> (System.IO.DirectoryInfo dir)</td></tr>
<tr class="memdesc:a4e5a5dfe5f2b8038044dcc3f20f7fa81 inherit pub_static_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lists all files (not subdirectories) in the directory. This method never returns null (throws System.IO.IOException instead). <a href="#a4e5a5dfe5f2b8038044dcc3f20f7fa81"></a><br/></td></tr>
<tr class="separator:a4e5a5dfe5f2b8038044dcc3f20f7fa81 inherit pub_static_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c00a49d9b26eadc0a3849f206462e97 inherit pub_static_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memItemLeft" align="right" valign="top">static long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html#a6c00a49d9b26eadc0a3849f206462e97">FileModified</a> (System.IO.FileInfo directory, System.String name)</td></tr>
<tr class="memdesc:a6c00a49d9b26eadc0a3849f206462e97 inherit pub_static_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the time the named file was last modified. <a href="#a6c00a49d9b26eadc0a3849f206462e97"></a><br/></td></tr>
<tr class="separator:a6c00a49d9b26eadc0a3849f206462e97 inherit pub_static_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html">Lucene.Net.Store.FSDirectory</a></td></tr>
<tr class="memitem:a10db6d3563f9a06e5eacecb4b23c1aaa inherit pro_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><td class="memItemLeft" align="right" valign="top">override void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_f_s_directory.html#a10db6d3563f9a06e5eacecb4b23c1aaa">Dispose</a> (bool disposing)</td></tr>
<tr class="separator:a10db6d3563f9a06e5eacecb4b23c1aaa inherit pro_methods_class_lucene_1_1_net_1_1_store_1_1_f_s_directory"><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>File-based <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html" title="A Directory is a flat list of files. Files may be written once, when they are created. Once a file is created it may only be opened for read, or deleted. Random access is permitted both when reading and writing.">Directory</a> implementation that uses mmap for reading, and <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_simple_f_s_directory_1_1_simple_f_s_index_output.html">SimpleFSDirectory.SimpleFSIndexOutput</a> for writing. </p>
<p><b>NOTE</b>: memory mapping uses up a portion of the virtual memory address space in your process equal to the size of the file being mapped. Before using this class, be sure your have plenty of virtual address space, e.g. by using a 64 bit JRE, or a 32 bit JRE with indexes that are guaranteed to fit within the address space. On 32 bit platforms also consult <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_m_map_directory.html#a2d37be4664c6dd0ac070ae271b76d736" title="Gets or sets the maximum chunk size (default is int.MaxValue for 64 bit JVMs and 256 MiBytes for 32 b...">MaxChunkSize</a> if you have problems with mmap failing because of fragmented address space. If you get an OutOfMemoryException, it is recommened to reduce the chunk size, until it works.</p>
<p>Due to <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4724038">this bug</a> in Sun's JRE, <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_m_map_directory.html" title="File-based Directory implementation that uses mmap for reading, and SimpleFSDirectory.SimpleFSIndexOutput for writing.">MMapDirectory</a>'s <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_index_input.html#a574f688ef9a010b1d8d1ba8c37926ce7">IndexInput.Close</a> is unable to close the underlying OS file handle. Only when GC finally collects the underlying objects, which could be quite some time later, will the file handle be closed.</p>
<p>This will consume additional transient disk usage: on Windows, attempts to delete or overwrite the files will result in an exception; on other platforms, which typically have a "delete on last close" semantics, while such operations will succeed, the bytes are still consuming space on disk. For many applications this limitation is not a problem (e.g. if you have plenty of disk space, and you don't rely on overwriting files on Windows) but it's still an important limitation to be aware of.</p>
<p>This class supplies the workaround mentioned in the bug report (disabled by default, see <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_m_map_directory.html#a30ad4d157e6a9d157f53e027fd9daac9" title="Enables or disables the workaround for unmapping the buffers from address space after closing IndexIn...">UseUnmap</a>), which may fail on non-Sun JVMs. It forcefully unmaps the buffer on close by using an undocumented internal cleanup functionality. <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_m_map_directory.html#af4873ed3df417f1c01dc3e3ca05386fb" title="true, if this platform supports unmapping mmaped files.">UNMAP_SUPPORTED</a> is <code>true</code>, if the workaround can be enabled (with no guarantees). </p>
<p>Definition at line <a class="el" href="_m_map_directory_8cs_source.html#l00062">62</a> of file <a class="el" href="_m_map_directory_8cs_source.html">MMapDirectory.cs</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ace2b588ce491beeb9461d7c9afe26440"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Lucene.Net.Store.MMapDirectory.MMapDirectory </td>
<td>(</td>
<td class="paramtype">System.IO.DirectoryInfo&#160;</td>
<td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_lock_factory.html">LockFactory</a>&#160;</td>
<td class="paramname"><em>lockFactory</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_m_map_directory.html" title="File-based Directory implementation that uses mmap for reading, and SimpleFSDirectory.SimpleFSIndexOutput for writing.">MMapDirectory</a> for the named location. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>the path of the directory </td></tr>
<tr><td class="paramname">lockFactory</td><td>the lock factory to use, or null for the default. </td></tr>
</table>
</dd>
</dl>
<p>&lt;throws&gt; IOException &lt;/throws&gt; </p>
<p>Definition at line <a class="el" href="_m_map_directory_8cs_source.html#l00116">116</a> of file <a class="el" href="_m_map_directory_8cs_source.html">MMapDirectory.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a5ae614a0518d4e247f2ba2bb901434c9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Lucene.Net.Store.MMapDirectory.MMapDirectory </td>
<td>(</td>
<td class="paramtype">System.IO.DirectoryInfo&#160;</td>
<td class="paramname"><em>path</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_m_map_directory.html" title="File-based Directory implementation that uses mmap for reading, and SimpleFSDirectory.SimpleFSIndexOutput for writing.">MMapDirectory</a> for the named location and the default lock factory. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>the path of the directory </td></tr>
</table>
</dd>
</dl>
<p>&lt;throws&gt; IOException &lt;/throws&gt; </p>
<p>Definition at line <a class="el" href="_m_map_directory_8cs_source.html#l00128">128</a> of file <a class="el" href="_m_map_directory_8cs_source.html">MMapDirectory.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ad420384aa67b5b39141ac46f754f21a9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">override <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_index_output.html">IndexOutput</a> Lucene.Net.Store.MMapDirectory.CreateOutput </td>
<td>(</td>
<td class="paramtype">System.String&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates an <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_index_output.html" title="Abstract base class for output to a file in a Directory. A random-access output stream. Used for all Lucene index output operations. ">IndexOutput</a> for the file with the given name. </p>
<p>Implements <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html#af44407cd2e54288502f459924efc9aac">Lucene.Net.Store.Directory</a>.</p>
<p>Definition at line <a class="el" href="_m_map_directory_8cs_source.html#l00506">506</a> of file <a class="el" href="_m_map_directory_8cs_source.html">MMapDirectory.cs</a>.</p>
</div>
</div>
<a class="anchor" id="ac56071555f9bc3b4948bd2c396952378"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">override <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_index_input.html">IndexInput</a> Lucene.Net.Store.MMapDirectory.OpenInput </td>
<td>(</td>
<td class="paramtype">System.String&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>bufferSize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates an <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_index_input.html" title="Abstract base class for input from a file in a Directory. A random-access input stream. Used for all Lucene index input operations. ">IndexInput</a> for the file with the given name. </p>
<p>Reimplemented from <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_directory.html#a2a8da4004ee5216c050ed7094c3eeb6e">Lucene.Net.Store.Directory</a>.</p>
<p>Definition at line <a class="el" href="_m_map_directory_8cs_source.html#l00490">490</a> of file <a class="el" href="_m_map_directory_8cs_source.html">MMapDirectory.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="af4873ed3df417f1c01dc3e3ca05386fb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool Lucene.Net.Store.MMapDirectory.UNMAP_SUPPORTED</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><code>true</code>, if this platform supports unmapping mmaped files.</p>
<p>Definition at line <a class="el" href="_m_map_directory_8cs_source.html#l00138">138</a> of file <a class="el" href="_m_map_directory_8cs_source.html">MMapDirectory.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a class="anchor" id="a2d37be4664c6dd0ac070ae271b76d736"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int Lucene.Net.Store.MMapDirectory.MaxChunkSize</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets or sets the maximum chunk size (default is int.MaxValue for 64 bit JVMs and 256 MiBytes for 32 bit JVMs) used for memory mapping. Especially on 32 bit platform, the address space can be very fragmented, so large index files cannot be mapped. Using a lower chunk size makes the directory implementation a little bit slower (as the correct chunk must be resolved on each seek) but the chance is higher that mmap does not fail. On 64 bit Java platforms, this parameter should always be int.MaxValue, as the adress space is big enough. </p>
<p>Definition at line <a class="el" href="_m_map_directory_8cs_source.html#l00197">197</a> of file <a class="el" href="_m_map_directory_8cs_source.html">MMapDirectory.cs</a>.</p>
</div>
</div>
<a class="anchor" id="a30ad4d157e6a9d157f53e027fd9daac9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool Lucene.Net.Store.MMapDirectory.UseUnmap</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables the workaround for unmapping the buffers from address space after closing <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_index_input.html" title="Abstract base class for input from a file in a Directory. A random-access input stream. Used for all Lucene index input operations. ">IndexInput</a>, that is mentioned in the bug report. This hack may fail on non-Sun JVMs. It forcefully unmaps the buffer on close by using an undocumented internal cleanup functionality. <b>NOTE:</b> Enabling this is completely unsupported by Java and may lead to JVM crashs if <code><a class="el" href="class_lucene_1_1_net_1_1_store_1_1_index_input.html" title="Abstract base class for input from a file in a Directory. A random-access input stream. Used for all Lucene index input operations. ">IndexInput</a></code> is closed while another thread is still accessing it (SIGSEGV). </p>
<p>&lt;throws&gt; IllegalArgumentException if <a class="el" href="class_lucene_1_1_net_1_1_store_1_1_m_map_directory.html#af4873ed3df417f1c01dc3e3ca05386fb" title="true, if this platform supports unmapping mmaped files.">UNMAP_SUPPORTED</a> &lt;/throws&gt; </p>
<p>is <code>false</code> and the workaround cannot be enabled. </p>
<p>Definition at line <a class="el" href="_m_map_directory_8cs_source.html#l00153">153</a> of file <a class="el" href="_m_map_directory_8cs_source.html">MMapDirectory.cs</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>core/Store/<a class="el" href="_m_map_directory_8cs_source.html">MMapDirectory.cs</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 3 2013 02:12:59 for Lucene.Net by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.3
</small></address>
</body>
</html>