Update in response to fuchsia-zircon changes

Change-Id: If9400b9f2655aca20d8ad84ba91bb399795c8132
diff --git a/src/lib.rs b/src/lib.rs
index 23ab424..a457a03 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -102,6 +102,9 @@
 extern crate slab;
 extern crate tokio_io;
 
+#[cfg(target_os = "fuchsia")]
+extern crate fuchsia_zircon;
+
 #[macro_use]
 extern crate scoped_tls;
 
diff --git a/src/reactor/mod.rs b/src/reactor/mod.rs
index 140e41d..468c5a6 100644
--- a/src/reactor/mod.rs
+++ b/src/reactor/mod.rs
@@ -887,7 +887,30 @@
     }
 }
 
-#[cfg(any(windows, target_os = "fuchsia"))]
+#[cfg(target_os = "fuchsia")]
+mod platform {
+    use mio::Ready;
+    use mio::fuchsia::FuchsiaReady;
+    use fuchsia_zircon;
+
+    pub fn all() -> Ready {
+        fuchsia_zircon::Signals::all().into()
+    }
+
+    pub fn hup() -> Ready {
+        fuchsia_zircon::Signals::CHANNEL_PEER_CLOSED.into()
+    }
+
+    pub fn ready2usize(r: Ready) -> usize {
+        FuchsiaReady::from(r).into_signals().bits() as usize
+    }
+
+    pub fn usize2ready(num: usize) -> Ready {
+        fuchsia_zircon::Signals::from_bits_truncate(num as u32).into()
+    }
+}
+
+#[cfg(any(windows))]
 mod platform {
     use mio::Ready;