File: socket2-0.5.patch

package info (click to toggle)
rust-tokio-uring 0.5.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 828 kB
  • sloc: makefile: 2
file content (91 lines) | stat: -rw-r--r-- 2,988 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
Index: tokio-uring/Cargo.toml
===================================================================
--- tokio-uring.orig/Cargo.toml
+++ tokio-uring/Cargo.toml
@@ -58,11 +58,11 @@ version = "0.2.80"
 version = "0.4.2"
 
 [dependencies.socket2]
-version = "0.4.4"
+version = "0.5"
 features = ["all"]
 
 [dependencies.tokio]
-version = "1.2"
+version = "1.30"
 features = [
     "net",
     "rt",
@@ -82,7 +82,7 @@ version = "0.26.1"
 version = "3.2.0"
 
 [dev-dependencies.tokio]
-version = "1.21.2"
+version = "1.30"
 
 [dev-dependencies.tokio-test]
 version = "0.4.2"
Index: tokio-uring/src/io/accept.rs
===================================================================
--- tokio-uring.orig/src/io/accept.rs
+++ tokio-uring/src/io/accept.rs
@@ -46,7 +46,7 @@ impl Completable for Accept {
         let fd = SharedFd::new(fd as i32);
         let socket = Socket { fd };
         let (_, addr) = unsafe {
-            socket2::SockAddr::init(move |addr_storage, len| {
+            socket2::SockAddr::try_init(move |addr_storage, len| {
                 self.socketaddr.0.clone_into(&mut *addr_storage);
                 *len = self.socketaddr.1;
                 Ok(())
Index: tokio-uring/src/io/recv_from.rs
===================================================================
--- tokio-uring.orig/src/io/recv_from.rs
+++ tokio-uring/src/io/recv_from.rs
@@ -24,7 +24,7 @@ impl<T: BoundedBufMut> Op<RecvFrom<T>> {
             std::slice::from_raw_parts_mut(buf.stable_mut_ptr(), buf.bytes_total())
         })];
 
-        let socket_addr = Box::new(unsafe { SockAddr::init(|_, _| Ok(()))?.1 });
+        let socket_addr = Box::new(unsafe { SockAddr::try_init(|_, _| Ok(()))?.1 });
 
         let mut msghdr: Box<libc::msghdr> = Box::new(unsafe { std::mem::zeroed() });
         msghdr.msg_iov = io_slices.as_mut_ptr().cast();
Index: tokio-uring/src/io/recvmsg.rs
===================================================================
--- tokio-uring.orig/src/io/recvmsg.rs
+++ tokio-uring/src/io/recvmsg.rs
@@ -28,7 +28,7 @@ impl<T: BoundedBufMut> Op<RecvMsg<T>> {
             }));
         }
 
-        let socket_addr = Box::new(unsafe { SockAddr::init(|_, _| Ok(()))?.1 });
+        let socket_addr = Box::new(unsafe { SockAddr::try_init(|_, _| Ok(()))?.1 });
 
         let mut msghdr: Box<libc::msghdr> = Box::new(unsafe { std::mem::zeroed() });
         msghdr.msg_iov = io_slices.as_mut_ptr().cast();
Index: tokio-uring/src/io/socket.rs
===================================================================
--- tokio-uring.orig/src/io/socket.rs
+++ tokio-uring/src/io/socket.rs
@@ -10,6 +10,7 @@ use std::{
     io,
     net::SocketAddr,
     os::unix::io::{AsRawFd, IntoRawFd, RawFd},
+    os::fd::{AsFd, BorrowedFd},
     path::Path,
 };
 
@@ -285,3 +286,12 @@ impl AsRawFd for Socket {
         self.fd.raw_fd()
     }
 }
+
+impl AsFd for Socket {
+    fn as_fd(&self) -> BorrowedFd {
+        unsafe {
+            BorrowedFd::borrow_raw(self.fd.raw_fd())
+        }
+    }
+}
+