.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" 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 .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Tirex::Source::ModTile 3pm" .TH Tirex::Source::ModTile 3pm "2021-10-07" "perl v5.32.1" "User Contributed Perl Documentation" .\" 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" Tirex::Source::ModTile \-\- mod_tile a a source of job requests .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 \& my $source = &Tirex::Source::ModTile\->new(); \& $source\->notify(); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Source using Tirex messages sent through mod_tile (Unix domain socket) .SH "METHODS" .IX Header "METHODS" .SS "Tirex::Source::ModTile\->\fBnew()\fP" .IX Subsection "Tirex::Source::ModTile->new()" Create source object for Unix domain socket connection. .ie n .SS "$source\->readable($sock)" .el .SS "\f(CW$source\fP\->readable($sock)" .IX Subsection "$source->readable($sock)" Indicates to this source that the given socket is readable, and has data for this source. .PP The source will return \s-1STATUS_CONTINUE\s0 if it expects to continue reading, or \s-1STATUS_MESSAGE_COMPLETE\s0 if reading is complete. \s-1STATUS_SOCKET_CLOSED\s0 indicates that the peer has closed the connection. .ie n .SS "$source\->make_job($sock)" .el .SS "\f(CW$source\fP\->make_job($sock)" .IX Subsection "$source->make_job($sock)" Returns a new Tirex::Job object created from the data read by this source. Also decides whether or not this source would like to be notified of job completion, and if yes, flags the job accordingly. .PP These are the priority levels used in the Apache mod_tile and how they are translated in Tirex. (Note that in mod_tile the numbers do not imply higher or lower priority.) .PP \fIcmdRender (1 in mod_tile, 2 in Tirex)\fR .IX Subsection "cmdRender (1 in mod_tile, 2 in Tirex)" .PP This priority is used by mod_tile if a \*(L"very old\*(R" tile is requested. The configuration option ModTileVeryOldThreshold controls what counts as \*(L"very old\*(R". Unless the system load is higher than ModTileMaxLoadOld, a render request is triggered and mod_tile waits for up to ModTileRequestTimeout seconds. If a tile is not produced within that time, the old tile is returned. .PP \fIcmdDirty (2 in mod_tile, 10 in Tirex)\fR .IX Subsection "cmdDirty (2 in mod_tile, 10 in Tirex)" .PP This priority is used by mod_tile if .IP "\(bu" 4 the /dirty \s-1URL\s0 is manually called for a tile .IP "\(bu" 4 an \*(L"old\*(R" or \*(L"very old\*(R" tile is requested but the load is too high to render it right away (the old tile will be delivered instead) .IP "\(bu" 4 a \*(L"missing\*(R" tile is requested but the load is too high to render it right away (a 404 error will be issued) .PP \fIcmdRenderPrio (5 in mod_tile, 1 in Tirex)\fR .IX Subsection "cmdRenderPrio (5 in mod_tile, 1 in Tirex)" .PP This priority is used by mod_tile if a \*(L"missing\*(R" tile is requested. Unless the system load is higher than ModTileMaxLoadMissing, a render request is triggered and mod_tile waits for up to ModTileMissingRequestTimeout seconds. If a tile is not produced within that time, a 404 error will be issued. .PP \fIcmdRenderBulk (6 in mod_tile, 20 in Tirex)\fR .IX Subsection "cmdRenderBulk (6 in mod_tile, 20 in Tirex)" .PP Used for all \*(L"missing tile\*(R" render requests triggered by mod_tile if \*(L"ModTileBulkMode On\*(R" is set in the Apache configuration. In this mode, requests for old tiles are never issued. Never used if \*(L"ModTileBulkMode Off\*(R" (the default). .PP \fIcmdRenderLow (7 in mod_tile, 25 in Tirex)\fR .IX Subsection "cmdRenderLow (7 in mod_tile, 25 in Tirex)" .PP This priority is used by mod_tile if an \*(L"old\*(R" tile is requested. An \*(L"old\*(R" tile is one that is older than three days or, if a planet_import_complete file is present, older than this file. Unless the system load is higher than ModTileMaxLoadOld, a render request is triggered and mod_tile waits for up to ModTileRequestTimeout seconds. If a tile is not produced within that time, the old tile is returned. .ie n .SS "$source\->set_request_write_callback(\e&wcb}" .el .SS "\f(CW$source\fP\->set_request_write_callback(\e&wcb}" .IX Subsection "$source->set_request_write_callback(&wcb}" Specifies a function to be called if this source ever wants to receive writable events. .ie n .SS "$source\->notify($job)" .el .SS "\f(CW$source\fP\->notify($job)" .IX Subsection "$source->notify($job)" Prepares a notification message about successful tile rendering and informs the main select loop to give us a chance to write. .ie n .SS "$source\->writable($sock)" .el .SS "\f(CW$source\fP\->writable($sock)" .IX Subsection "$source->writable($sock)" Indicates to this source that the given socket is writable. .PP The source will attempt to send the prepared notification message, and return \s-1STATUS_MESSAGE_COMPLETE\s0 if the message has been fully sent. It will return \s-1STATUS_CONTINUE\s0 if sending needs to continue later. A return value of \s-1STATUS_SOCKET_CLOSED\s0 indicates that the peer has closed the connection.