<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.6.0/javadoc/org/apache/ignite/igfs/package-frame.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

<!-- Generated by javadoc (1.8.0_77) on Tue Jul 10 11:04:52 UTC 2018 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.apache.ignite.igfs (Ignite 2.6.0)</title>
<meta name="date" content="2018-07-10">
<link rel="stylesheet" type="text/css" href="../../../../javadoc.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></head>
<body>
<h1 class="bar"><a href="../../../../org/apache/ignite/igfs/package-summary.html" target="classFrame">org.apache.ignite.igfs</a></h1>
<div class="indexContainer">
<h2 title="Interfaces">Interfaces</h2>
<ul title="Interfaces">
<li><a href="IgfsBlockLocation.html" title="interface in org.apache.ignite.igfs" target="classFrame"><span class="interfaceName">IgfsBlockLocation</span></a></li>
<li><a href="IgfsFile.html" title="interface in org.apache.ignite.igfs" target="classFrame"><span class="interfaceName">IgfsFile</span></a></li>
<li><a href="IgfsMetrics.html" title="interface in org.apache.ignite.igfs" target="classFrame"><span class="interfaceName">IgfsMetrics</span></a></li>
</ul>
<h2 title="Classes">Classes</h2>
<ul title="Classes">
<li><a href="IgfsGroupDataBlocksKeyMapper.html" title="class in org.apache.ignite.igfs" target="classFrame">IgfsGroupDataBlocksKeyMapper</a></li>
<li><a href="IgfsInputStream.html" title="class in org.apache.ignite.igfs" target="classFrame">IgfsInputStream</a></li>
<li><a href="IgfsIpcEndpointConfiguration.html" title="class in org.apache.ignite.igfs" target="classFrame">IgfsIpcEndpointConfiguration</a></li>
<li><a href="IgfsOutputStream.html" title="class in org.apache.ignite.igfs" target="classFrame">IgfsOutputStream</a></li>
<li><a href="IgfsPath.html" title="class in org.apache.ignite.igfs" target="classFrame">IgfsPath</a></li>
<li><a href="IgfsPathSummary.html" title="class in org.apache.ignite.igfs" target="classFrame">IgfsPathSummary</a></li>
<li><a href="IgfsUserContext.html" title="class in org.apache.ignite.igfs" target="classFrame">IgfsUserContext</a></li>
</ul>
<h2 title="Enums">Enums</h2>
<ul title="Enums">
<li><a href="IgfsIpcEndpointType.html" title="enum in org.apache.ignite.igfs" target="classFrame">IgfsIpcEndpointType</a></li>
<li><a href="IgfsMode.html" title="enum in org.apache.ignite.igfs" target="classFrame">IgfsMode</a></li>
</ul>
<h2 title="Exceptions">Exceptions</h2>
<ul title="Exceptions">
<li><a href="IgfsConcurrentModificationException.html" title="class in org.apache.ignite.igfs" target="classFrame">IgfsConcurrentModificationException</a></li>
<li><a href="IgfsCorruptedFileException.html" title="class in org.apache.ignite.igfs" target="classFrame">IgfsCorruptedFileException</a></li>
<li><a href="IgfsDirectoryNotEmptyException.html" title="class in org.apache.ignite.igfs" target="classFrame">IgfsDirectoryNotEmptyException</a></li>
<li><a href="IgfsException.html" title="class in org.apache.ignite.igfs" target="classFrame">IgfsException</a></li>
<li><a href="IgfsInvalidHdfsVersionException.html" title="class in org.apache.ignite.igfs" target="classFrame">IgfsInvalidHdfsVersionException</a></li>
<li><a href="IgfsInvalidPathException.html" title="class in org.apache.ignite.igfs" target="classFrame">IgfsInvalidPathException</a></li>
<li><a href="IgfsOutOfSpaceException.html" title="class in org.apache.ignite.igfs" target="classFrame">IgfsOutOfSpaceException</a></li>
<li><a href="IgfsParentNotDirectoryException.html" title="class in org.apache.ignite.igfs" target="classFrame">IgfsParentNotDirectoryException</a></li>
<li><a href="IgfsPathAlreadyExistsException.html" title="class in org.apache.ignite.igfs" target="classFrame">IgfsPathAlreadyExistsException</a></li>
<li><a href="IgfsPathIsDirectoryException.html" title="class in org.apache.ignite.igfs" target="classFrame">IgfsPathIsDirectoryException</a></li>
<li><a href="IgfsPathIsNotDirectoryException.html" title="class in org.apache.ignite.igfs" target="classFrame">IgfsPathIsNotDirectoryException</a></li>
<li><a href="IgfsPathNotFoundException.html" title="class in org.apache.ignite.igfs" target="classFrame">IgfsPathNotFoundException</a></li>
</ul>
</div>
</body>
</html>
