Rusty Doors

Rust is great. Doors are great. Putting them together is not yet great.

What we have currently: ```rust /* Server process */

doorfn!(Server() { /* Do some great server stuff */ });

fn main() { let path = "server.door"; match Server::attachto("server.door") { None => panic!("Could not prepare a door on the filesystem"), Some(d) => { let x = time::Duration::from_millis(1000 * 360); thread::sleep(x); } } } ```

What we want: ```rust

[doorfn]

fn Server(data: vec, descriptors: vec, cookie: i32) { /* Do some great server stuf */ }

fn main() { Server::attachto("server.door")?; door::awaitclients(); } ```

and in the client: rust fn main() { let server = File::open("server.door")?.into_door(); server.call()?; }