Package: Protected_Containers

## Documentation

Table of Contents
Class Inheritance Tree

## Index

Package: Protected_Containers

- Goto spec source

# Description

    package Alog.Protected_Containers is

Alog Protected Containers. This package provides protected containers which are safe for concurrent access.

# Tasks & Protected

### Log_Request_List

- Goto spec in source

(protected type)

Entries: Put, Get, Done, All_Done, Clear, Length, Pending
Protected variant of a log request list. This list holds log request objects and is safe for concurrent access. It operates in FIFO-Mode.

# Types

### Log_Request_Storage

- Goto declaration in source
- Goto full declaration in source

    type Log_Request_Storage is private;

# Subprograms & Entries

### Log_Request_List. Put

- Goto spec in source

    procedure Put (Element: Log_Request.Instance);

Put an element at the end of the request list.

### Log_Request_List. Get (abstract)

- Goto spec in source

    entry Get (Element: out Log_Request.Instance);

Get the first element from the list (and delete it).

### Log_Request_List. Done

- Goto spec in source

    procedure Done;

Signal successfull processing of request previously gotten from list.

### Log_Request_List. All_Done (abstract)

- Goto spec in source

    entry All_Done;

This procedure blocks until the list is empty and there are no pending requests. A requests is pending when it is taken off the list via Get but it's successfull processing has not been signaled back via the procedure Done.

### Log_Request_List. Clear

- Goto spec in source

    procedure Clear;

Clear the request list by deleting all log requests.

### Log_Request_List. Length

- Goto spec in source

    function Length return Natural;

Return the number of elements in the list.

### Log_Request_List. Pending

- Goto spec in source

    function Pending return Natural;

Return the number of pending requests.