16 * Execute the given render operation on multiple nodes from the given remote pool, streaming back the result in PNG format via the given callbacks |
20 * Execute the given render operation on multiple nodes from the given remote pool, streaming back the result in PNG format via the given callbacks |
17 * |
21 * |
18 * The behaviour of the callbacks is mostly the same as for render_remote.h |
22 * The behaviour of the callbacks is mostly the same as for render_remote.h |
19 */ |
23 */ |
20 struct render_multi *render_multi ( |
24 struct render_multi *render_multi ( |
21 render_t *render_ctx, // what to render |
25 struct render *render_ctx, // what to render |
22 struct remote_pool *render_pool, // what render pool to use |
26 struct remote_pool *pool_info, // what render pool to use |
23 void (*cb_sent)(void *arg), |
27 void (*cb_sent)(void *arg), |
24 void (*cb_data)(struct evbuffer *buf, void *arg), |
28 void (*cb_data)(struct evbuffer *buf, void *arg), |
25 void (*cb_done)(void *arg), |
29 void (*cb_done)(void *arg), |
26 void (*cb_fail)(void *arg), |
30 void (*cb_fail)(void *arg), |
27 void *cb_arg |
31 void *cb_arg |
28 ); |
32 ); |
29 |
33 |
|
34 /* |
|
35 * Cancel the given request. No more callbacks will be called, buffered data is |
|
36 * discarded and the remote render processes will cancel ASAP. |
|
37 */ |
|
38 void render_multi_cancel (struct render_multi *ctx); |
|
39 |
|
40 /* |
|
41 * Doesn't actually do anything yet |
|
42 */ |
|
43 int render_multi_set_recv (struct render_multi *ctx, size_t recv_threshold, size_t unread_buffer); |
|
44 |
|
45 /* |
|
46 * Call cb_data with the current set of buffered input data immediately, |
|
47 * regardless of whether or not the buffer contains any data, or any new |
|
48 * data has been received. |
|
49 * |
|
50 * Only call this after cb_sent and before cb_done/cb_fail. |
|
51 */ |
|
52 int render_multi_shake (struct render_multi *ctx); |
|
53 |
30 #endif /* RENDER_MULTI_H */ |
54 #endif /* RENDER_MULTI_H */ |