--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/render_multi.h Fri Jun 06 18:35:46 2008 +0300
@@ -0,0 +1,30 @@
+#ifndef RENDER_MULTI_H
+#define RENDER_MULTI_H
+
+#include "remote_pool.h"
+
+/*
+ * Execute a given render_t operate across multiple remote render nodes, and aggregate the results into a single PNG stream locally
+ */
+
+struct render_multi;
+
+// how many nodes can be involved in a render operation at most
+#define RENDER_MULTI_NODES_MAX 2
+
+/*
+ * Execute the given render operation on multiple nodes from the given remote pool, streaming back the result in PNG format via the given callbacks
+ *
+ * The behaviour of the callbacks is mostly the same as for render_remote.h
+ */
+struct render_multi *render_multi (
+ render_t *render_ctx, // what to render
+ struct remote_pool *render_pool, // what render pool to use
+ void (*cb_sent)(void *arg),
+ void (*cb_data)(struct evbuffer *buf, void *arg),
+ void (*cb_done)(void *arg),
+ void (*cb_fail)(void *arg),
+ void *cb_arg
+);
+
+#endif /* RENDER_MULTI_H */