zeek/doc/scripts/base/utils/queue.bro.rst
Jon Siwek 7e9d48f532 Remove broxygen Sphinx integration
The broxygen-generated files now live in the git repo, have tests
that check that they are up-to-date, and a script to re-generate
them on-demand.
2018-12-18 10:15:22 -06:00

164 lines
4.5 KiB
ReStructuredText

:tocdepth: 3
base/utils/queue.bro
====================
.. bro:namespace:: Queue
A FIFO queue.
:Namespace: Queue
Summary
~~~~~~~
Types
#####
=============================================== ==========================================
:bro:type:`Queue::Queue`: :bro:type:`record` The internal data structure for the queue.
:bro:type:`Queue::Settings`: :bro:type:`record` Settings for initializing the queue.
=============================================== ==========================================
Redefinitions
#############
============================================ =
:bro:type:`Queue::Queue`: :bro:type:`record`
============================================ =
Functions
#########
================================================= ==============================================================
:bro:id:`Queue::get`: :bro:type:`function` Get a value from the end of a queue.
:bro:id:`Queue::get_vector`: :bro:type:`function` Get the contents of the queue as a vector.
:bro:id:`Queue::init`: :bro:type:`function` Initialize a queue record structure.
:bro:id:`Queue::len`: :bro:type:`function` Get the number of items in a queue.
:bro:id:`Queue::merge`: :bro:type:`function` Merge two queues together.
:bro:id:`Queue::peek`: :bro:type:`function` Peek at the value at the end of the queue without removing it.
:bro:id:`Queue::put`: :bro:type:`function` Put a value onto the beginning of a queue.
================================================= ==============================================================
Detailed Interface
~~~~~~~~~~~~~~~~~~
Types
#####
.. bro:type:: Queue::Queue
:Type: :bro:type:`record`
initialized: :bro:type:`bool` :bro:attr:`&default` = ``F`` :bro:attr:`&optional`
vals: :bro:type:`table` [:bro:type:`count`] of :bro:type:`any` :bro:attr:`&optional`
settings: :bro:type:`Queue::Settings` :bro:attr:`&optional`
top: :bro:type:`count` :bro:attr:`&default` = ``0`` :bro:attr:`&optional`
bottom: :bro:type:`count` :bro:attr:`&default` = ``0`` :bro:attr:`&optional`
size: :bro:type:`count` :bro:attr:`&default` = ``0`` :bro:attr:`&optional`
The internal data structure for the queue.
.. bro:type:: Queue::Settings
:Type: :bro:type:`record`
max_len: :bro:type:`count` :bro:attr:`&optional`
If a maximum length is set for the queue
it will maintain itself at that
maximum length automatically.
Settings for initializing the queue.
Functions
#########
.. bro:id:: Queue::get
:Type: :bro:type:`function` (q: :bro:type:`Queue::Queue`) : :bro:type:`any`
Get a value from the end of a queue.
:q: The queue to get the value from.
:returns: The value gotten from the queue.
.. bro:id:: Queue::get_vector
:Type: :bro:type:`function` (q: :bro:type:`Queue::Queue`, ret: :bro:type:`vector` of :bro:type:`any`) : :bro:type:`void`
Get the contents of the queue as a vector.
:q: The queue.
:ret: A vector containing the current contents of the queue
as the type of ret.
.. bro:id:: Queue::init
:Type: :bro:type:`function` (s: :bro:type:`Queue::Settings` :bro:attr:`&default` = ``[]`` :bro:attr:`&optional`) : :bro:type:`Queue::Queue`
Initialize a queue record structure.
:s: A record which configures the queue.
:returns: An opaque queue record.
.. bro:id:: Queue::len
:Type: :bro:type:`function` (q: :bro:type:`Queue::Queue`) : :bro:type:`count`
Get the number of items in a queue.
:q: The queue.
:returns: The length of the queue.
.. bro:id:: Queue::merge
:Type: :bro:type:`function` (q1: :bro:type:`Queue::Queue`, q2: :bro:type:`Queue::Queue`) : :bro:type:`Queue::Queue`
Merge two queues together. If any settings are applied
to the queues, the settings from *q1* are used for the new
merged queue.
:q1: The first queue. Settings are taken from here.
:q2: The second queue.
:returns: A new queue from merging the other two together.
.. bro:id:: Queue::peek
:Type: :bro:type:`function` (q: :bro:type:`Queue::Queue`) : :bro:type:`any`
Peek at the value at the end of the queue without removing it.
:q: The queue to get the value from.
:returns: The value at the end of the queue.
.. bro:id:: Queue::put
:Type: :bro:type:`function` (q: :bro:type:`Queue::Queue`, val: :bro:type:`any`) : :bro:type:`void`
Put a value onto the beginning of a queue.
:q: The queue to put the value into.
:val: The value to insert into the queue.