From 4ff8e15128f90d4e9e57897c48280c6f82bb8343 Mon Sep 17 00:00:00 2001 From: Michael Bebenita Date: Wed, 28 Jul 2010 16:24:50 -0700 Subject: Move notification-messages out into their own file and unify into notify_message, make them use proxies, cache task proxies in dom. --- src/rt/rust_dom.h | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) (limited to 'src/rt/rust_dom.h') diff --git a/src/rt/rust_dom.h b/src/rt/rust_dom.h index 8247cbbd..2f162972 100644 --- a/src/rt/rust_dom.h +++ b/src/rt/rust_dom.h @@ -6,22 +6,10 @@ #define RUST_DOM_H #include "sync/lock_free_queue.h" +#include "util/hash_map.h" -class rust_message : public lock_free_queue_node, - public dom_owned { -public: - rust_dom *dom; - rust_message(rust_dom *dom); - virtual ~rust_message() {} - virtual void process(); -}; - -class kill_task_message : public rust_message { - rust_task *_task; -public: - kill_task_message(rust_dom *dom, rust_task *task); - void process(); -}; +#include "rust_proxy.h" +#include "rust_message.h" struct rust_dom { @@ -48,6 +36,8 @@ struct rust_dom condition_variable _progress; + hash_map *> _task_proxies; + // Incoming messages from other domains. condition_variable _incoming_message_pending; lock_free_queue _incoming_message_queue; @@ -74,6 +64,8 @@ struct rust_dom void send_message(rust_message *message); void drain_incoming_message_queue(); + rust_proxy *get_task_proxy(rust_task *task); + void delete_proxies(); #ifdef __WIN32__ void win32_require(LPCTSTR fn, BOOL ok); -- cgit v1.2.3