<refentry id="libnetdude-libnd-packet-recycler">
<refmeta>
<refentrytitle id="top_of_page">libnd_packet_recycler</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>LIBNETDUDE Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>libnd_packet_recycler</refname>
<refpurpose></refpurpose>
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
</refnamediv>

<refsynopsisdiv id="synopsis">
<title id="synopsis.title">Synopsis</title>

<synopsis>



<link linkend="void">void</link>        <link linkend="libnd-prec-init">libnd_prec_init</link>                 ();
<link linkend="gboolean">gboolean</link>    <link linkend="libnd-prec-put">libnd_prec_put</link>                  (<link linkend="LND-Packet">LND_Packet</link> *packet);
<link linkend="LND-Packet">LND_Packet</link>* <link linkend="libnd-prec-get">libnd_prec_get</link>                  (<link linkend="guint">guint</link> mem_needed);
</synopsis>
</refsynopsisdiv>









<refsect1 id="desc">
<title id="desc.title">Description</title>
<para>

</para>
</refsect1>

<refsect1 id="details">
<title id="details.title">Details</title>
<refsect2>
<title><anchor id="libnd-prec-init" role="function">libnd_prec_init ()</title>
<indexterm><primary>libnd_prec_init</primary></indexterm><programlisting><link linkend="void">void</link>        libnd_prec_init                 ();</programlisting>
<para>
</para>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="libnd-prec-put" role="function">libnd_prec_put ()</title>
<indexterm><primary>libnd_prec_put</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    libnd_prec_put                  (<link linkend="LND-Packet">LND_Packet</link> *packet);</programlisting>
<para>
NOTE: DO NOT USE THIS FUNCTION. Use <link linkend="libnd-packet-free"><function>libnd_packet_free()</function></link>.
The function puts a packet into the recycler. It cleans it
up, looking at the amount of payload it can hold, and makes
it available when someone needs a packet that can hold up to
an equal amount.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>packet</parameter>&nbsp;:</term>
<listitem><simpara> packet to recycle.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> when the packet is recycled, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if the recycler
is full. In that case the packet is unused and needs to be handled
differently, for example fully released.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="libnd-prec-get" role="function">libnd_prec_get ()</title>
<indexterm><primary>libnd_prec_get</primary></indexterm><programlisting><link linkend="LND-Packet">LND_Packet</link>* libnd_prec_get                  (<link linkend="guint">guint</link> mem_needed);</programlisting>
<para>
NOTE: DO NOT USE THIS FUNCTION. Use <link linkend="libnd-packet-new"><function>libnd_packet_new()</function></link>.
The function returns a recycled packet that is able to hold
<parameter>mem_needed</parameter> bytes of payload.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>mem_needed</parameter>&nbsp;:</term>
<listitem><simpara> amount of memory that new packet will need to carry.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> unused packet.
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>




</refentry>
