.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "LTPCLOCK 1" .TH LTPCLOCK 1 "2016-07-07" "perl v5.24.1" "LTP executables" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" ltpclock \- LTP daemon task for managing scheduled events .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBltpclock\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBltpclock\fR is a background \*(L"daemon\*(R" task that periodically performs scheduled \s-1LTP\s0 activities. It is spawned automatically by \fBltpadmin\fR in response to the 's' command that starts operation of the \s-1LTP\s0 protocol, and it is terminated by \fBltpadmin\fR in response to an 'x' (\s-1STOP\s0) command. .PP Once per second, \fBltpclock\fR takes the following action: .Sp .RS 4 First it manages the current state of all links (\*(L"spans\*(R"). In particular, it checks the age of the currently buffered session block for each span and, if that age exceeds the span's configured aggregation time limit, gives the \*(L"buffer full\*(R" semaphore for that span to initiate block segmentation and transmission by \fBltpmeter\fR. .Sp In so doing, it also infers link state changes (\*(L"link cues\*(R") from data rate changes as noted in the \s-1RFX\s0 database by \fBrfxclock\fR: .Sp .RS 4 If the rate of transmission to a neighbor was zero but is now non-zero, then transmission to that neighbor is unblocked. The applicable \*(L"buffer empty\*(R" semaphore is given if no outbound block is being constructed (enabling start of a new transmission session) and the \*(L"segments ready\*(R" semaphore is given if the outbound segment queue is non-empty (enabling transmission of segments by the link service output task). .Sp If the rate of transmission to a neighbor was non-zero but is now zero, then transmission to that neighbor is blocked \*(-- i.e., the semaphores triggering transmission will no longer be given. .Sp If the imputed rate of transmission from a neighbor was non-zero but is now zero, then all timers affecting segment retransmission to that neighbor are suspended. This has the effect of extending the interval of each affected timer by the length of time that the timers remain suspended. .Sp If the imputed rate of transmission from a neighbor was zero but is now non-zero, then all timers affecting segment retransmission to that neighbor are resumed. .RE .RE .RS 4 .Sp Then \fBltpclock\fR retransmits all unacknowledged checkpoint segments, report segments, and cancellation segments whose computed timeout intervals have expired. .RE .SH "EXIT STATUS" .IX Header "EXIT STATUS" .ie n .IP """0""" 4 .el .IP "``0''" 4 .IX Item "0" \&\fBltpclock\fR terminated, for reasons noted in the \fBion.log\fR file. If this termination was not commanded, investigate and solve the problem identified in the log file and use \fBltpadmin\fR to restart \fBltpclock\fR. .ie n .IP """1""" 4 .el .IP "``1''" 4 .IX Item "1" \&\fBltpclock\fR was unable to attach to \s-1LTP\s0 protocol operations, probably because \&\fBltpadmin\fR has not yet been run. .SH "FILES" .IX Header "FILES" No configuration files are needed. .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" No environment variables apply. .SH "DIAGNOSTICS" .IX Header "DIAGNOSTICS" The following diagnostics may be issued to the \fBion.log\fR log file: .IP "ltpclock can't initialize \s-1LTP.\s0" 4 .IX Item "ltpclock can't initialize LTP." \&\fBltpadmin\fR has not yet initialized \s-1LTP\s0 protocol operations. .IP "Can't dispatch events." 4 .IX Item "Can't dispatch events." An unrecoverable database error was encountered. \fBltpclock\fR terminates. .IP "Can't manage links." 4 .IX Item "Can't manage links." An unrecoverable database error was encountered. \fBltpclock\fR terminates. .SH "BUGS" .IX Header "BUGS" Report bugs to .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIltpadmin\fR\|(1), \fIltpmeter\fR\|(1), \fIrfxclock\fR\|(1)