From 5a485461a1157fef1bb3ce8426bfd1ad57b5ca52 Mon Sep 17 00:00:00 2001 From: Hans Bolinder Date: Fri, 6 May 2011 16:01:56 +0200 Subject: Use Erlang specs and types for documentation --- lib/kernel/doc/src/wrap_log_reader.xml | 66 ++++++++++++++++------------------ 1 file changed, 30 insertions(+), 36 deletions(-) (limited to 'lib/kernel/doc/src/wrap_log_reader.xml') diff --git a/lib/kernel/doc/src/wrap_log_reader.xml b/lib/kernel/doc/src/wrap_log_reader.xml index 18664a029f..6cf480b532 100644 --- a/lib/kernel/doc/src/wrap_log_reader.xml +++ b/lib/kernel/doc/src/wrap_log_reader.xml @@ -4,7 +4,7 @@
- 19982009 + 19982011 Ericsson AB. All Rights Reserved. @@ -50,18 +50,20 @@ the called node, it is entirely up to the user to be sure that all items are read.

+ + + +

Continuation returned by + open/1,2 or chunk/1,2.

+
+
+
- chunk(Continuation) - chunk(Continuation, N) -> {Continuation2, Terms} | {Continuation2, Terms, Badbytes} | {Continuation2, eof} | {error, Reason} + + Read a chunk of objects written to a wrap log. - - Continuation = continuation() - N = int() > 0 | infinity - Continuation2 = continuation() - Terms= [term()] - Badbytes = integer() - +

This function makes it possible to efficiently read the terms which have been appended to a log. It minimises disk @@ -70,29 +72,29 @@

The first time chunk is called an initial continuation returned from the open/1, open/2 must be provided.

-

When chunk/3 is called, N controls the +

When chunk/3 is called, N controls the maximum number of terms that are read from the log in each chunk. Default is infinity, which means that all the terms contained in the 8K chunk are read. If less than - N terms are returned, this does not necessarily mean + N terms are returned, this does not necessarily mean that end of file is reached.

The chunk function returns a tuple - {Continuation2, Terms}, where Terms is a list - of terms found in the log. Continuation2 is yet + {Continuation2, Terms}, where Terms is a list + of terms found in the log. Continuation2 is yet another continuation which must be passed on into any subsequent calls to chunk. With a series of calls to chunk it is then possible to extract all terms from a log.

The chunk function returns a tuple - {Continuation2, Terms, Badbytes} if the log is opened - in read only mode and the read chunk is corrupt. Badbytes + {Continuation2, Terms, Badbytes} if the log is opened + in read only mode and the read chunk is corrupt. Badbytes indicates the number of non-Erlang terms found in the chunk. Note also that the log is not repaired.

-

chunk returns {Continuation2, eof} when the end of the log is - reached, and {error, Reason} if an error occurs. +

chunk returns {Continuation2, eof} when the end of the log is + reached, and {error, Reason} if an error occurs.

The returned continuation may or may not be valid in the next call to chunk. This is because the log may wrap and delete @@ -103,37 +105,29 @@ - close(Continuation) -> ok + Close a log - - Continuation = continuation() -

This function closes a log file properly.

- open(Filename) -> OpenRet - open(Filename, N) -> OpenRet + + Open a log file - - File = string() | atom() - N = integer() - OpenRet = {ok, Continuation} | {error, Reason} - Continuation = continuation() - + -

Filename specifies the name of the file which is to be read.

-

N specifies the index of the file which is to be read. - If N is omitted the whole wrap log file will be read; if it +

Filename specifies the name of the file which is to be read.

+

N specifies the index of the file which is to be read. + If N is omitted the whole wrap log file will be read; if it is specified only the specified index file will be read.

-

The open function returns {ok, Continuation} if the - log/index file was successfully opened. The Continuation +

The open function returns {ok, Continuation} if the + log/index file was successfully opened. The Continuation is to be used when chunking or closing the file.

-

The function returns {error, Reason} for all errors. +

The function returns {error, Reason} for all errors.

-- cgit v1.2.3