diff options
author | Jesse Luehrs <doy@tozt.net> | 2014-09-06 17:51:16 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2014-09-06 17:51:16 -0400 |
commit | 2d401b7685e6f142c5945075ba2d79abfa781f49 (patch) | |
tree | 1f836f9df5321986b4bd33196cf765a2d5ac6aa0 /src | |
parent | df1b563b1f14443d685f3b035f749090b764d63d (diff) | |
download | rust-irc-2d401b7685e6f142c5945075ba2d79abfa781f49.tar.gz rust-irc-2d401b7685e6f142c5945075ba2d79abfa781f49.zip |
add a basic runloop
Diffstat (limited to 'src')
-rw-r--r-- | src/client.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/client.rs b/src/client.rs index 2824df2..3beda7d 100644 --- a/src/client.rs +++ b/src/client.rs @@ -133,4 +133,16 @@ impl Client { None => None, } } + + // XXX eventually, we'll want to set up callbacks for specific events + // beforehand, and just have a `run_loop` method that loops and calls the + // preset callbacks as necessary. unfortunately, rust doesn't handle + // storing closures very well yet if they need to receive a borrowed + // pointer, and we would need to pass the client object into the callback + // in order to make this work + pub fn run_loop_with (&mut self, handler: |Message|) { + loop { + handler(self.read()); + } + } } |