render_multi.h
changeset 11 082bfaf38cf0
child 13 ee426f453cf5
--- /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 */