THRIFT-4664: Cannot create ReadHalf/WriteHalf

Client: rs
diff --git a/lib/rs/src/transport/mod.rs b/lib/rs/src/transport/mod.rs
index 9392786..6e84bfa 100644
--- a/lib/rs/src/transport/mod.rs
+++ b/lib/rs/src/transport/mod.rs
@@ -143,6 +143,26 @@
     handle: C,
 }
 
+impl<C> ReadHalf<C>
+where
+    C: Read,
+{
+    /// Create a `ReadHalf` associated with readable `handle`
+    pub fn new(handle: C) -> ReadHalf<C> {
+        ReadHalf { handle }
+    }
+}
+
+impl<C> WriteHalf<C>
+where
+    C: Write,
+{
+    /// Create a `WriteHalf` associated with writable `handle`
+    pub fn new(handle: C) -> WriteHalf<C> {
+        WriteHalf { handle }
+    }
+}
+
 impl<C> Read for ReadHalf<C>
 where
     C: Read,