mirror of
https://github.com/openstreetmap/mod_tile.git
synced 2025-08-01 07:43:30 +00:00

In addition to the request queue and the dirty queue, there are now also a requestPrio and requestBulk queue. The rendering order now is first render requests from requestPrio, then from request followed by the dirty queue and finally if no other requests are queued, render from the requestBulk queue. RequestPrio, Request and RequestBulk all block, whereas Diry immediately returns with NotDoneYet. This also changes mod_tile to submit requests that if not rendered in time would result in 404 errors as high priority. prioBulk should be useful for things like rerendering all the outdated tiles in the background, but this patch does not include those changes.
46 lines
884 B
C
46 lines
884 B
C
#ifndef PROTOCOL_H
|
|
#define PROTOCOL_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Protocol between client and render daemon
|
|
*
|
|
* ver = 2;
|
|
*
|
|
* cmdRender(z,x,y,xmlconfig), response: {cmdDone(z,x,y), cmdBusy(z,x,y)}
|
|
* cmdDirty(z,x,y,xmlconfig), no response
|
|
*
|
|
* A client may not bother waiting for a response if the render daemon is too slow
|
|
* causing responses to get slightly out of step with requests.
|
|
*/
|
|
#define TILE_PATH_MAX (256)
|
|
#define PROTO_VER (2)
|
|
#define RENDER_SOCKET "/tmp/osm-renderd"
|
|
#define XMLCONFIG_MAX 41
|
|
|
|
enum protoCmd { cmdIgnore, cmdRender, cmdDirty, cmdDone, cmdNotDone, cmdRenderPrio, cmdRenderBulk };
|
|
|
|
struct protocol {
|
|
int ver;
|
|
enum protoCmd cmd;
|
|
int x;
|
|
int y;
|
|
int z;
|
|
char xmlname[XMLCONFIG_MAX];
|
|
};
|
|
|
|
struct protocol_v1 {
|
|
int ver;
|
|
enum protoCmd cmd;
|
|
int x;
|
|
int y;
|
|
int z;
|
|
};
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|