<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Fri May 24 01:13:41 UTC 2024 -->
<title>org.apache.arrow.flight.grpc Class Hierarchy (Apache Arrow Java Root POM 17.0.0-SNAPSHOT API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2024-05-24">
<meta name="description" content="tree: package: org.apache.arrow.flight.grpc">
<meta name="generator" content="javadoc/PackageTreeWriter">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="package-tree-page">
<script type="text/javascript">var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li class="nav-bar-cell1-rev">Tree</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#tree">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For Package org.apache.arrow.flight.grpc</h1>
<span class="package-hierarchy-label">Package Hierarchies:</span>
<ul class="horizontal">
<li><a href="../../../../../overview-tree.html">All Packages</a></li>
</ul>
</div>
<section class="hierarchy">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
<ul>
<li class="circle">org.apache.arrow.flight.grpc.<a href="AddWritableBuffer.html" class="type-name-link" title="class in org.apache.arrow.flight.grpc">AddWritableBuffer</a></li>
<li class="circle">io.grpc.CallCredentials
<ul>
<li class="circle">org.apache.arrow.flight.grpc.<a href="CallCredentialAdapter.html" class="type-name-link" title="class in org.apache.arrow.flight.grpc">CallCredentialAdapter</a></li>
</ul>
</li>
<li class="circle">org.apache.arrow.flight.grpc.<a href="ClientInterceptorAdapter.html" class="type-name-link" title="class in org.apache.arrow.flight.grpc">ClientInterceptorAdapter</a> (implements io.grpc.ClientInterceptor)</li>
<li class="circle">org.apache.arrow.flight.grpc.<a href="ContextPropagatingExecutorService.html" class="type-name-link" title="class in org.apache.arrow.flight.grpc">ContextPropagatingExecutorService</a> (implements java.util.concurrent.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html" title="class or interface in java.util.concurrent" class="external-link">ExecutorService</a>)</li>
<li class="circle">org.apache.arrow.flight.grpc.<a href="CredentialCallOption.html" class="type-name-link" title="class in org.apache.arrow.flight.grpc">CredentialCallOption</a> (implements org.apache.arrow.flight.<a href="../CallOptions.GrpcCallOption.html" title="interface in org.apache.arrow.flight">CallOptions.GrpcCallOption</a>)</li>
<li class="circle">org.apache.arrow.flight.grpc.<a href="GetReadableBuffer.html" class="type-name-link" title="class in org.apache.arrow.flight.grpc">GetReadableBuffer</a></li>
<li class="circle">org.apache.arrow.flight.grpc.<a href="MetadataAdapter.html" class="type-name-link" title="class in org.apache.arrow.flight.grpc">MetadataAdapter</a> (implements org.apache.arrow.flight.<a href="../CallHeaders.html" title="interface in org.apache.arrow.flight">CallHeaders</a>)</li>
<li class="circle">org.apache.arrow.flight.grpc.<a href="RequestContextAdapter.html" class="type-name-link" title="class in org.apache.arrow.flight.grpc">RequestContextAdapter</a> (implements org.apache.arrow.flight.<a href="../RequestContext.html" title="interface in org.apache.arrow.flight">RequestContext</a>)</li>
<li class="circle">org.apache.arrow.flight.grpc.<a href="ServerBackpressureThresholdInterceptor.html" class="type-name-link" title="class in org.apache.arrow.flight.grpc">ServerBackpressureThresholdInterceptor</a> (implements io.grpc.ServerInterceptor)</li>
<li class="circle">org.apache.arrow.flight.grpc.<a href="ServerInterceptorAdapter.html" class="type-name-link" title="class in org.apache.arrow.flight.grpc">ServerInterceptorAdapter</a> (implements io.grpc.ServerInterceptor)</li>
<li class="circle">org.apache.arrow.flight.grpc.<a href="ServerInterceptorAdapter.KeyFactory.html" class="type-name-link" title="class in org.apache.arrow.flight.grpc">ServerInterceptorAdapter.KeyFactory</a>&lt;T&gt;</li>
<li class="circle">org.apache.arrow.flight.grpc.<a href="StatusUtils.html" class="type-name-link" title="class in org.apache.arrow.flight.grpc">StatusUtils</a></li>
</ul>
</li>
</ul>
</section>
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>
