/usr/share/doc/libgnatcoll-doc/html/pools.html is in libgnatcoll-doc 1.6gpl2014-9.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <!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/html; charset=utf-8" />
<title>20. Pools: Controlling access to resources — GNATColl 1.7w documentation</title>
<link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '1.7w',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<link rel="shortcut icon" href="_static/favicon.ico"/>
<link rel="top" title="GNATColl 1.7w documentation" href="index.html" />
<link rel="next" title="21. JSON: handling JSON data" href="json.html" />
<link rel="prev" title="19. Config: Parsing configuration files" href="config.html" />
</head>
<body role="document">
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="json.html" title="21. JSON: handling JSON data"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="config.html" title="19. Config: Parsing configuration files"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">GNATColl 1.7w documentation</a> »</li>
</ul>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="index.html">
<img class="logo" src="_static/adacore_transparent.png" alt="Logo"/>
</a></p>
<h4>Previous topic</h4>
<p class="topless"><a href="config.html"
title="previous chapter">19. <strong>Config</strong>: Parsing configuration files</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="json.html"
title="next chapter">21. <strong>JSON</strong>: handling JSON data</a></p>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="pools-controlling-access-to-resources">
<h1>20. <strong>Pools</strong>: Controlling access to resources<a class="headerlink" href="#pools-controlling-access-to-resources" title="Permalink to this headline">ΒΆ</a></h1>
<p>The package <strong>GNATCOLL.Pools</strong> provides resource pools.</p>
<p>A pool contains a maximum number of resources, which are created on demand.
However, once a resource is no longer needed by the client, it is not freed,
but instead it is released to the pool, which will then return it again the
next time a client requests a resource.</p>
<p>The typical resource is when the creation of the resources is expensive, for
instance a connection to a database or a remote server. The lazy creation then
provides a faster startup time (as well as more flexibility, since there is no
need to allocate dozens of resources if only one will be needed in the end),
and more efficient retrieval through the reuse of resources.</p>
<p>The pool in this package is task safe, and is intended as a global variable
(or field of a global variable) somewhere in your application.</p>
<p>The resources are implemented as reference-counted types (through
<cite>GNATCOLL.Refcount</cite>). As a result, as soon as the client no longer has
a handle on them, they are automatically released to the pool and there is
no risk that the client forgets to do so.</p>
<p><cite>GNATCOLL.Pools</cite> is a generic package where the formal parameters
describe the type of resources, how to create them on demand, what should
happen when a resource is released, and finally how to free a resource when
the pool itself is freed. See <code class="file docutils literal"><span class="pre">gnatcoll-pools.ads</span></code> for a full and
up-to-date description of these parameters.</p>
</div>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="json.html" title="21. JSON: handling JSON data"
>next</a> |</li>
<li class="right" >
<a href="config.html" title="19. Config: Parsing configuration files"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">GNATColl 1.7w documentation</a> »</li>
</ul>
</div>
<div class="footer" role="contentinfo">
© Copyright 2007-2015, AdaCore.
</div>
</body>
</html>
|