Provided by: ion_3.2.1+dfsg-1.1_amd64 bug

NAME

       ltpmeter - LTP daemon task for aggregating and segmenting transmission blocks

SYNOPSIS

       ltpmeter remote_engine_nbr

DESCRIPTION

       ltpmeter is a background "daemon" task that manages the presentation of LTP segments to
       link service output tasks.  Each "span" of LTP data interchange between the local LTP
       engine and a neighboring LTP engine requires its own ltpmeter task.  All ltpmeter tasks
       are spawned automatically by ltpadmin in response to the 's' command that starts operation
       of the LTP protocol, and they are all terminated by ltpadmin in response to an 'x' (STOP)
       command.

       ltpmeter waits until its span's current transmission block (the data to be transmitted
       during the transmission session that is currently being constructed) is ready for
       transmission, then divides the data in the span's block buffer into segments and enqueues
       the segments for transmission by the span's link service output task (giving the segments
       semaphore to unblock the link service output task as necessary), then reinitializes the
       span's block buffer and starts another session (giving the "buffer empty" semaphore to
       unblock the client service task -- nominally ltpclo, the LTP convergence layer output task
       for Bundle Protocol -- as necessary).

       ltpmeter determines that the current transmission block is ready for transmission by
       waiting until either (a) the aggregate size of all service data units in the block's
       buffer exceeds the aggregation size limit for this span or (b) the length of time that the
       first service data unit in the block's buffer has been awaiting transmission exceeds the
       aggregation time limit for this span.  The "buffer full" semaphore is given when ION
       (either the ltp_send() function or the ltpclock daemon) determines that one of these
       conditions is true; ltpmeter simply waits for this semaphore to be given.

       The initiation of a new session may also be blocked: the total number of transmission
       sessions that the local LTP engine may have open at a single time is limited (this is LTP
       flow control), and while the engine is at this limit no new sessions can be started.
       Availability of a session from the session pool is signaled by the "session" semaphore,
       which is given whenever a session is completed or canceled.

EXIT STATUS

       "0" ltpmeter terminated normally, for reasons noted in the ion.log file.  If this
           termination was not commanded, investigate and solve the problem identified in the log
           file and use ltpadmin to restart ltpmeter.

       "1" ltpmeter terminated abnormally, for reasons noted in the ion.log file.  Investigate
           and solve the problem identified in the log file, then use ltpadmin to restart
           ltpmeter.

FILES

       No configuration files are needed.

ENVIRONMENT

       No environment variables apply.

DIAGNOSTICS

       The following diagnostics may be issued to the ion.log log file:

       ltpmeter can't initialize LTP.
           ltpadmin has not yet initialized LTP protocol operations.

       No such engine in database.
           remote_engine_nbr is invalid, or the applicable span has not yet been added to the LTP
           database by ltpadmin.

       ltpmeter task is already started for this engine.
           Redundant initiation of ltpmeter.

       ltpmeter can't start new session.
           An unrecoverable database error was encountered.  ltpmeter terminates.

       Can't take bufClosedSemaphore.
           An unrecoverable database error was encountered.  ltpmeter terminates.

       Can't create extents list.
           An unrecoverable database error was encountered.  ltpmeter terminates.

       Can't post ExportSessionStart notice.
           An unrecoverable database error was encountered.  ltpmeter terminates.

       Can't finish session.
           An unrecoverable database error was encountered.  ltpmeter terminates.

BUGS

       Report bugs to <ion-bugs@korgano.eecs.ohiou.edu>

SEE ALSO

       ltpadmin(1), ltpclock(1)