author | Tero Marttila <terom@fixme.fi> |
Thu, 26 Jun 2008 02:57:20 +0300 | |
changeset 24 | 8307d28329ae |
parent 23 | 31307efd7e78 |
permissions | -rw-r--r-- |
2
69f8c0acaac7
working web_main that uses render_remote
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1 |
#ifndef RENDER_REMOTE_H |
69f8c0acaac7
working web_main that uses render_remote
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2 |
#define RENDER_REMOTE_H |
69f8c0acaac7
working web_main that uses render_remote
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3 |
|
4
49edbdf9ebe7
updated code to use libevent svn (with custom modifications, need to create a git repo for that)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
4 |
#include <event2/util.h> |
49edbdf9ebe7
updated code to use libevent svn (with custom modifications, need to create a git repo for that)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
5 |
#include <event2/buffer.h> |
2
69f8c0acaac7
working web_main that uses render_remote
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6 |
|
69f8c0acaac7
working web_main that uses render_remote
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
7 |
#include "render.h" |
19
d18606bb6f20
a working threaded sliced render, plus modifications to other modules to use this in web_main
Tero Marttila <terom@fixme.fi>
parents:
16
diff
changeset
|
8 |
#include "remote_pool.h" |
2
69f8c0acaac7
working web_main that uses render_remote
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
9 |
|
69f8c0acaac7
working web_main that uses render_remote
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
10 |
/* |
15
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
11 |
* Execute a render operation on a remote render_node |
2
69f8c0acaac7
working web_main that uses render_remote
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
12 |
*/ |
69f8c0acaac7
working web_main that uses render_remote
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
13 |
|
15
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
14 |
struct render_remote; |
3
675be0a45157
working chunked-streaming of remote-rendered mandelbrots in web_main, next step will be flow control. Remote rendering doesn't compile in render_node.
Tero Marttila <terom@fixme.fi>
parents:
2
diff
changeset
|
15 |
|
2
69f8c0acaac7
working web_main that uses render_remote
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
16 |
/* |
15
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
17 |
* Execute the given render operation on the render_node at the given remote |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
18 |
* address, and buffer the data stream. |
3
675be0a45157
working chunked-streaming of remote-rendered mandelbrots in web_main, next step will be flow control. Remote rendering doesn't compile in render_node.
Tero Marttila <terom@fixme.fi>
parents:
2
diff
changeset
|
19 |
* |
15
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
20 |
* The various callback functions must all be provided! |
11
082bfaf38cf0
* massive structural rewrite. Split off code into several new modules (render, render_png, render_local) and updated new modules to use them.
Tero Marttila <terom@fixme.fi>
parents:
8
diff
changeset
|
21 |
* |
15
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
22 |
* cb_sent |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
23 |
* Will be invoked once we have a pretty good guess that the render will |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
24 |
* complete succesfully. |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
25 |
* |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
26 |
* cb_data |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
27 |
* Will be invoked after cb_sent has been called whenever any new data has |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
28 |
* been received into our buffer, once we've buffered all the data, or after |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
29 |
* render_remote_flush. |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
30 |
* |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
31 |
* cb_done |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
32 |
* The request was terminated succesfully and all data has been read out of |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
33 |
* our buffer by cb_data |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
34 |
* |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
35 |
* cb_fail |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
36 |
* The request was terminated abnormally. This may happen at any time, except |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
37 |
* after cb_done has been called. |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
38 |
* |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
39 |
* The returned struct render_remote can be used as a handle for the control |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
40 |
* functions, and it is the caller's responsibility to free it using |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
41 |
* render_remote_free after cb_done/cb_fail has been called, or alternatively, |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
42 |
* cancel it using render_remote_cancel. |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
43 |
* |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
44 |
* Returns NULL on error, or a handle on success |
2
69f8c0acaac7
working web_main that uses render_remote
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
45 |
*/ |
15
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
46 |
struct render_remote *render_remote ( |
11
082bfaf38cf0
* massive structural rewrite. Split off code into several new modules (render, render_png, render_local) and updated new modules to use them.
Tero Marttila <terom@fixme.fi>
parents:
8
diff
changeset
|
47 |
struct render *render, // what to render |
19
d18606bb6f20
a working threaded sliced render, plus modifications to other modules to use this in web_main
Tero Marttila <terom@fixme.fi>
parents:
16
diff
changeset
|
48 |
struct remote_pool *pool_info, // pick a render node from this pool |
2
69f8c0acaac7
working web_main that uses render_remote
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
49 |
void (*cb_sent)(void *arg), |
69f8c0acaac7
working web_main that uses render_remote
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
50 |
void (*cb_data)(struct evbuffer *buf, void *arg), |
69f8c0acaac7
working web_main that uses render_remote
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
51 |
void (*cb_done)(void *arg), |
69f8c0acaac7
working web_main that uses render_remote
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
52 |
void (*cb_fail)(void *arg), |
8
4d38ccbeb93e
* fix Makefile to build in a (more) sensible way (still not really perfect)
Tero Marttila <terom@fixme.fi>
parents:
7
diff
changeset
|
53 |
void *cb_arg |
2
69f8c0acaac7
working web_main that uses render_remote
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
54 |
); |
69f8c0acaac7
working web_main that uses render_remote
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
55 |
|
3
675be0a45157
working chunked-streaming of remote-rendered mandelbrots in web_main, next step will be flow control. Remote rendering doesn't compile in render_node.
Tero Marttila <terom@fixme.fi>
parents:
2
diff
changeset
|
56 |
/* |
15
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
57 |
* Execute the given render operation on the render_node at the given remote |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
58 |
* address, and let the user handle the read I/O events. |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
59 |
* |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
60 |
* The various callback functions must all be provided! |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
61 |
* |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
62 |
* cb_sent |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
63 |
* Will be called once the request has been sent. |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
64 |
* |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
65 |
* cb_fail |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
66 |
* Will be called if sending the request fails. |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
67 |
* |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
68 |
* cb_io_data |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
69 |
* Will be called once when there is data on the socket to receive. Must be |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
70 |
* re-enabled using render_remote_again each time. |
3
675be0a45157
working chunked-streaming of remote-rendered mandelbrots in web_main, next step will be flow control. Remote rendering doesn't compile in render_node.
Tero Marttila <terom@fixme.fi>
parents:
2
diff
changeset
|
71 |
*/ |
15
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
72 |
struct render_remote *render_remote_rawio ( |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
73 |
struct render *render, |
19
d18606bb6f20
a working threaded sliced render, plus modifications to other modules to use this in web_main
Tero Marttila <terom@fixme.fi>
parents:
16
diff
changeset
|
74 |
struct remote_pool *pool_info, |
15
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
75 |
void (*cb_sent)(void *arg), |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
76 |
void (*cb_fail)(void *arg), |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
77 |
void (*cb_io_data)(evutil_socket_t, short, void*), |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
78 |
void *cb_arg |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
79 |
); |
3
675be0a45157
working chunked-streaming of remote-rendered mandelbrots in web_main, next step will be flow control. Remote rendering doesn't compile in render_node.
Tero Marttila <terom@fixme.fi>
parents:
2
diff
changeset
|
80 |
|
675be0a45157
working chunked-streaming of remote-rendered mandelbrots in web_main, next step will be flow control. Remote rendering doesn't compile in render_node.
Tero Marttila <terom@fixme.fi>
parents:
2
diff
changeset
|
81 |
/* |
6 | 82 |
* Controls the behaviour of when cb_data is called, and how remote data is read in. |
3
675be0a45157
working chunked-streaming of remote-rendered mandelbrots in web_main, next step will be flow control. Remote rendering doesn't compile in render_node.
Tero Marttila <terom@fixme.fi>
parents:
2
diff
changeset
|
83 |
* |
7 | 84 |
* recv_threshold sets a threshold for calling cb_data - cb_data will only be |
85 |
* called if the buffer contains at least recv_threshold bytes. Note that |
|
86 |
* cb_data is only called once new data has been receieved from the remote end. |
|
87 |
* If cb_data doesn't drain the buffer, cb_data will be called again once more |
|
88 |
* data has been received from the remote end. |
|
3
675be0a45157
working chunked-streaming of remote-rendered mandelbrots in web_main, next step will be flow control. Remote rendering doesn't compile in render_node.
Tero Marttila <terom@fixme.fi>
parents:
2
diff
changeset
|
89 |
* |
7 | 90 |
* unread_buffer can be used to control the amount of unread data in cb_data. |
91 |
* If the buffer contains more than recv_threshold + unread_buffer bytes, we |
|
92 |
* will stop accepting bytes from the remote end, and cb_data will not be |
|
93 |
* called any more. |
|
94 |
* |
|
95 |
* This means that there is a potential for deadlock if the buffer is full. You |
|
15
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
96 |
* MUST call render_remote_again once you are ready to start consuming the |
7 | 97 |
* buffer again. |
3
675be0a45157
working chunked-streaming of remote-rendered mandelbrots in web_main, next step will be flow control. Remote rendering doesn't compile in render_node.
Tero Marttila <terom@fixme.fi>
parents:
2
diff
changeset
|
98 |
* |
15
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
99 |
* Only valid for normal buffered renders. |
3
675be0a45157
working chunked-streaming of remote-rendered mandelbrots in web_main, next step will be flow control. Remote rendering doesn't compile in render_node.
Tero Marttila <terom@fixme.fi>
parents:
2
diff
changeset
|
100 |
*/ |
15
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
101 |
void render_remote_set_recv (struct render_remote *ctx, size_t recv_threshold, size_t unread_buffer); |
6 | 102 |
|
103 |
/* |
|
15
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
104 |
* For buffered I/O, call cb_data with the current set of buffered input data |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
105 |
* immediately, regardless of whether or not the buffer contains any data, or |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
106 |
* any new data has been received. Only call this once cb_sent has been invoked. |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
107 |
*/ |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
108 |
void render_remote_flush (struct render_remote *ctx); |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
109 |
|
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
110 |
/* |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
111 |
* For non-buffered I/O, reschedule the cb_io_data event to be called when more |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
112 |
* data is received. |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
113 |
*/ |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
114 |
int render_remote_reschedule (struct render_remote *ctx); |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
115 |
|
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
116 |
/* |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
117 |
* Cancel the given request. No more callbacks will be called, the ctx is freed |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
118 |
* and the remote render process will cancel ASAP. |
6 | 119 |
* |
15
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
120 |
* For buffered I/O, the any buffered data is discarded. |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
121 |
* |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
122 |
* Note that you do not need to call render_remote_free after this. |
6 | 123 |
*/ |
15
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
124 |
void render_remote_cancel (struct render_remote *ctx); |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
125 |
|
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
126 |
/* |
16
50995bbe442a
render_multi works a bit more efficiently now
Tero Marttila <terom@fixme.fi>
parents:
15
diff
changeset
|
127 |
* Mark a non-buffered custom-I/O request as succesfully completed. This will |
50995bbe442a
render_multi works a bit more efficiently now
Tero Marttila <terom@fixme.fi>
parents:
15
diff
changeset
|
128 |
* also free the given ctx. |
50995bbe442a
render_multi works a bit more efficiently now
Tero Marttila <terom@fixme.fi>
parents:
15
diff
changeset
|
129 |
*/ |
50995bbe442a
render_multi works a bit more efficiently now
Tero Marttila <terom@fixme.fi>
parents:
15
diff
changeset
|
130 |
void render_remote_done (struct render_remote *ctx); |
50995bbe442a
render_multi works a bit more efficiently now
Tero Marttila <terom@fixme.fi>
parents:
15
diff
changeset
|
131 |
|
50995bbe442a
render_multi works a bit more efficiently now
Tero Marttila <terom@fixme.fi>
parents:
15
diff
changeset
|
132 |
/* |
15
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
133 |
* Free the render_remote ctx and its assoicated resources. Only valid after a |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
134 |
* cb_done/cb_fail, otherwise use render_remote_cancel. |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
135 |
*/ |
e7f0697814dc
added a rawio interface to render_remote, this broke render_multi.c but it needs a rewrite now anyways
Tero Marttila <terom@fixme.fi>
parents:
11
diff
changeset
|
136 |
void render_remote_free (struct render_remote *ctx); |
3
675be0a45157
working chunked-streaming of remote-rendered mandelbrots in web_main, next step will be flow control. Remote rendering doesn't compile in render_node.
Tero Marttila <terom@fixme.fi>
parents:
2
diff
changeset
|
137 |
|
2
69f8c0acaac7
working web_main that uses render_remote
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
138 |
#endif /* RENDER_REMOTE_H */ |