Provided by: tirex_0.7.0-2_amd64 bug

NAME

       Tirex::Source::ModTile -- mod_tile a a source of job requests

SYNOPSIS

        my $source = &Tirex::Source::ModTile->new();
        $source->notify();

DESCRIPTION

       Source using Tirex messages sent through mod_tile (Unix domain socket)

METHODS

   Tirex::Source::ModTile->new()
       Create source object for Unix domain socket connection.

   $source->readable($sock)
       Indicates to this source that the given socket is readable, and has data for this source.

       The source will return STATUS_CONTINUE if it expects to continue reading, or
       STATUS_MESSAGE_COMPLETE if reading is complete. STATUS_SOCKET_CLOSED indicates that the
       peer has closed the connection.

   $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.

       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.)

       cmdRender (1 in mod_tile, 2 in Tirex)

       This priority is used by mod_tile if a "very old" tile is requested. The configuration
       option ModTileVeryOldThreshold controls what counts as "very old". 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.

       cmdDirty (2 in mod_tile, 10 in Tirex)

       This priority is used by mod_tile if

       •   the /dirty URL is manually called for a tile

       •   an "old" or "very old" tile is requested but the load is too high to render it right
           away (the old tile will be delivered instead)

       •   a "missing" tile is requested but the load is too high to render it right away (a 404
           error will be issued)

       cmdRenderPrio (5 in mod_tile, 1 in Tirex)

       This priority is used by mod_tile if a "missing" 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.

       cmdRenderBulk (6 in mod_tile, 20 in Tirex)

       Used for all "missing tile" render requests triggered by mod_tile if "ModTileBulkMode On"
       is set in the Apache configuration. In this mode, requests for old tiles are never issued.
       Never used if "ModTileBulkMode Off" (the default).

       cmdRenderLow (7 in mod_tile, 25 in Tirex)

       This priority is used by mod_tile if an "old" tile is requested. An "old" 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.

   $source->set_request_write_callback(\&wcb}
       Specifies a function to be called if this source ever wants to receive writable events.

   $source->notify($job)
       Prepares a notification message about successful tile rendering and informs the main
       select loop to give us a chance to write.

   $source->writable($sock)
       Indicates to this source that the given socket is writable.

       The source will attempt to send the prepared notification message, and return
       STATUS_MESSAGE_COMPLETE if the message has been fully sent. It will return STATUS_CONTINUE
       if sending needs to continue later. A return value of STATUS_SOCKET_CLOSED indicates that
       the peer has closed the connection.