+#[no_mangle]
+pub extern "C" fn SocketDescriptor_clone(orig: &SocketDescriptor) -> SocketDescriptor {
+ SocketDescriptor {
+ this_arg: if let Some(f) = orig.clone { (f)(orig.this_arg) } else { orig.this_arg },
+ send_data: orig.send_data.clone(),
+ disconnect_socket: orig.disconnect_socket.clone(),
+ eq: orig.eq.clone(),
+ hash: orig.hash.clone(),
+ clone: orig.clone.clone(),
+ free: orig.free.clone(),
+ }
+}