<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_292) on Tue Jun 15 06:06:56 GMT 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ShortCircuitRegistry (Apache Hadoop HDFS 3.3.1 API)</title>
<meta name="date" content="2021-06-15">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="ShortCircuitRegistry (Apache Hadoop HDFS 3.3.1 API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ShortCircuitRegistry.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/SecureDataNodeStarter.SecureResources.html" title="class in org.apache.hadoop.hdfs.server.datanode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.NewShmInfo.html" title="class in org.apache.hadoop.hdfs.server.datanode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.html" target="_top">Frames</a></li>
<li><a href="ShortCircuitRegistry.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.hdfs.server.datanode</div>
<h2 title="Class ShortCircuitRegistry" class="title">Class ShortCircuitRegistry</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hdfs.server.datanode.ShortCircuitRegistry</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">ShortCircuitRegistry</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Manages client short-circuit memory segments on the DataNode.

 DFSClients request shared memory segments from the DataNode.  The 
 ShortCircuitRegistry generates and manages these segments.  Each segment
 has a randomly generated 128-bit ID which uniquely identifies it.  The
 segments each contain several "slots."

 Before performing a short-circuit read, DFSClients must request a pair of
 file descriptors from the DataNode via the REQUEST_SHORT_CIRCUIT_FDS
 operation.  As part of this operation, DFSClients pass the ID of the shared
 memory segment they would like to use to communicate information about this
 replica, as well as the slot number within that segment they would like to
 use.  Slot allocation is always done by the client.

 Slots are used to track the state of the block on the both the client and
 datanode. When this DataNode mlocks a block, the corresponding slots for the
 replicas are marked as "anchorable".  Anchorable blocks can be safely read
 without verifying the checksum.  This means that BlockReaderLocal objects
 using these replicas can skip checksumming.  It also means that we can do
 zero-copy reads on these replicas (the ZCR interface has no way of
 verifying checksums.)
 
 When a DN needs to munlock a block, it needs to first wait for the block to
 be unanchored by clients doing a no-checksum read or a zero-copy read. The 
 DN also marks the block's slots as "unanchorable" to prevent additional 
 clients from initiating these operations in the future.
 
 The counterpart of this class on the client is <code>DfsClientShmManager</code>.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.NewShmInfo.html" title="class in org.apache.hadoop.hdfs.server.datanode">ShortCircuitRegistry.NewShmInfo</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.RegisteredShm.html" title="class in org.apache.hadoop.hdfs.server.datanode">ShortCircuitRegistry.RegisteredShm</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.Visitor.html" title="interface in org.apache.hadoop.hdfs.server.datanode">ShortCircuitRegistry.Visitor</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.html#ShortCircuitRegistry-org.apache.hadoop.conf.Configuration-">ShortCircuitRegistry</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.NewShmInfo.html" title="class in org.apache.hadoop.hdfs.server.datanode">ShortCircuitRegistry.NewShmInfo</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.html#createNewMemorySegment-java.lang.String-org.apache.hadoop.net.unix.DomainSocket-">createNewMemorySegment</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientName,
                      org.apache.hadoop.net.unix.DomainSocket&nbsp;sock)</code>
<div class="block">Handle a DFSClient request to create a new memory segment.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.html#getClientNames-org.apache.hadoop.hdfs.ExtendedBlockId-">getClientNames</a></span>(org.apache.hadoop.hdfs.ExtendedBlockId&nbsp;blockId)</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.html#getShmNum--">getShmNum</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.html#processBlockInvalidation-org.apache.hadoop.hdfs.ExtendedBlockId-">processBlockInvalidation</a></span>(org.apache.hadoop.hdfs.ExtendedBlockId&nbsp;blockId)</code>
<div class="block">Invalidate any slot associated with a blockId that we are invalidating
 (deleting) from this DataNode.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.html#processBlockMlockEvent-org.apache.hadoop.hdfs.ExtendedBlockId-">processBlockMlockEvent</a></span>(org.apache.hadoop.hdfs.ExtendedBlockId&nbsp;blockId)</code>
<div class="block">Process a block mlock event from the FsDatasetCache.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.html#processBlockMunlockRequest-org.apache.hadoop.hdfs.ExtendedBlockId-">processBlockMunlockRequest</a></span>(org.apache.hadoop.hdfs.ExtendedBlockId&nbsp;blockId)</code>
<div class="block">Mark any slots associated with this blockId as unanchorable.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.html#registerSlot-org.apache.hadoop.hdfs.ExtendedBlockId-org.apache.hadoop.hdfs.shortcircuit.ShortCircuitShm.SlotId-boolean-">registerSlot</a></span>(org.apache.hadoop.hdfs.ExtendedBlockId&nbsp;blockId,
            org.apache.hadoop.hdfs.shortcircuit.ShortCircuitShm.SlotId&nbsp;slotId,
            boolean&nbsp;isCached)</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.html#removeShm-org.apache.hadoop.hdfs.shortcircuit.ShortCircuitShm-">removeShm</a></span>(org.apache.hadoop.hdfs.shortcircuit.ShortCircuitShm&nbsp;shm)</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.html#shutdown--">shutdown</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.html#unregisterSlot-org.apache.hadoop.hdfs.shortcircuit.ShortCircuitShm.SlotId-">unregisterSlot</a></span>(org.apache.hadoop.hdfs.shortcircuit.ShortCircuitShm.SlotId&nbsp;slotId)</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.html#visit-org.apache.hadoop.hdfs.server.datanode.ShortCircuitRegistry.Visitor-">visit</a></span>(<a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.Visitor.html" title="interface in org.apache.hadoop.hdfs.server.datanode">ShortCircuitRegistry.Visitor</a>&nbsp;visitor)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="LOG">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LOG</h4>
<pre>public static final&nbsp;org.slf4j.Logger LOG</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="ShortCircuitRegistry-org.apache.hadoop.conf.Configuration-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ShortCircuitRegistry</h4>
<pre>public&nbsp;ShortCircuitRegistry(org.apache.hadoop.conf.Configuration&nbsp;conf)
                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="removeShm-org.apache.hadoop.hdfs.shortcircuit.ShortCircuitShm-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeShm</h4>
<pre>public&nbsp;void&nbsp;removeShm(org.apache.hadoop.hdfs.shortcircuit.ShortCircuitShm&nbsp;shm)</pre>
</li>
</ul>
<a name="processBlockMlockEvent-org.apache.hadoop.hdfs.ExtendedBlockId-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>processBlockMlockEvent</h4>
<pre>public&nbsp;void&nbsp;processBlockMlockEvent(org.apache.hadoop.hdfs.ExtendedBlockId&nbsp;blockId)</pre>
<div class="block">Process a block mlock event from the FsDatasetCache.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>blockId</code> - The block that was mlocked.</dd>
</dl>
</li>
</ul>
<a name="processBlockMunlockRequest-org.apache.hadoop.hdfs.ExtendedBlockId-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>processBlockMunlockRequest</h4>
<pre>public&nbsp;boolean&nbsp;processBlockMunlockRequest(org.apache.hadoop.hdfs.ExtendedBlockId&nbsp;blockId)</pre>
<div class="block">Mark any slots associated with this blockId as unanchorable.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>blockId</code> - The block ID.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if we should allow the munlock request.</dd>
</dl>
</li>
</ul>
<a name="processBlockInvalidation-org.apache.hadoop.hdfs.ExtendedBlockId-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>processBlockInvalidation</h4>
<pre>public&nbsp;void&nbsp;processBlockInvalidation(org.apache.hadoop.hdfs.ExtendedBlockId&nbsp;blockId)</pre>
<div class="block">Invalidate any slot associated with a blockId that we are invalidating
 (deleting) from this DataNode.  When a slot is invalid, the DFSClient will
 not use the corresponding replica for new read or mmap operations (although
 existing, ongoing read or mmap operations will complete.)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>blockId</code> - The block ID.</dd>
</dl>
</li>
</ul>
<a name="getClientNames-org.apache.hadoop.hdfs.ExtendedBlockId-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClientNames</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getClientNames(org.apache.hadoop.hdfs.ExtendedBlockId&nbsp;blockId)</pre>
</li>
</ul>
<a name="createNewMemorySegment-java.lang.String-org.apache.hadoop.net.unix.DomainSocket-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createNewMemorySegment</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.NewShmInfo.html" title="class in org.apache.hadoop.hdfs.server.datanode">ShortCircuitRegistry.NewShmInfo</a>&nbsp;createNewMemorySegment(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientName,
                                                              org.apache.hadoop.net.unix.DomainSocket&nbsp;sock)
                                                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Handle a DFSClient request to create a new memory segment.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>clientName</code> - Client name as reported by the client.</dd>
<dd><code>sock</code> - The DomainSocket to associate with this memory
                        segment.  When this socket is closed, or the
                        other side writes anything to the socket, the
                        segment will be closed.  This can happen at any
                        time, including right after this function returns.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A NewShmInfo object.  The caller must close the
                        NewShmInfo object once they are done with it.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If the new memory segment could not be created.</dd>
</dl>
</li>
</ul>
<a name="registerSlot-org.apache.hadoop.hdfs.ExtendedBlockId-org.apache.hadoop.hdfs.shortcircuit.ShortCircuitShm.SlotId-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerSlot</h4>
<pre>public&nbsp;void&nbsp;registerSlot(org.apache.hadoop.hdfs.ExtendedBlockId&nbsp;blockId,
                         org.apache.hadoop.hdfs.shortcircuit.ShortCircuitShm.SlotId&nbsp;slotId,
                         boolean&nbsp;isCached)
                  throws org.apache.hadoop.fs.InvalidRequestException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.hadoop.fs.InvalidRequestException</code></dd>
</dl>
</li>
</ul>
<a name="unregisterSlot-org.apache.hadoop.hdfs.shortcircuit.ShortCircuitShm.SlotId-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unregisterSlot</h4>
<pre>public&nbsp;void&nbsp;unregisterSlot(org.apache.hadoop.hdfs.shortcircuit.ShortCircuitShm.SlotId&nbsp;slotId)
                    throws org.apache.hadoop.fs.InvalidRequestException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.hadoop.fs.InvalidRequestException</code></dd>
</dl>
</li>
</ul>
<a name="shutdown--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shutdown</h4>
<pre>public&nbsp;void&nbsp;shutdown()</pre>
</li>
</ul>
<a name="visit-org.apache.hadoop.hdfs.server.datanode.ShortCircuitRegistry.Visitor-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>visit</h4>
<pre>public&nbsp;boolean&nbsp;visit(<a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.Visitor.html" title="interface in org.apache.hadoop.hdfs.server.datanode">ShortCircuitRegistry.Visitor</a>&nbsp;visitor)</pre>
</li>
</ul>
<a name="getShmNum--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getShmNum</h4>
<pre>public&nbsp;int&nbsp;getShmNum()</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ShortCircuitRegistry.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/SecureDataNodeStarter.SecureResources.html" title="class in org.apache.hadoop.hdfs.server.datanode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.NewShmInfo.html" title="class in org.apache.hadoop.hdfs.server.datanode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.html" target="_top">Frames</a></li>
<li><a href="ShortCircuitRegistry.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2021 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
