@@ -261,26 +261,6 @@ impl<T> Socket<T> {
261
261
262
262
Ok ( ( ) )
263
263
}
264
- }
265
-
266
- impl < T : core:: marker:: Sync + core:: marker:: Send + core:: fmt:: Debug + ' static > ObjectInterface
267
- for Socket < T >
268
- {
269
- default fn bind ( & self , _name : * const sockaddr , _namelen : socklen_t ) -> i32 {
270
- -EINVAL
271
- }
272
-
273
- default fn getsockname ( & self , _name : * mut sockaddr , _namelen : * mut socklen_t ) -> i32 {
274
- -EINVAL
275
- }
276
-
277
- default fn getpeername ( & self , _name : * mut sockaddr , _namelen : * mut socklen_t ) -> i32 {
278
- -EINVAL
279
- }
280
-
281
- default fn connect ( & self , _name : * const sockaddr , _namelen : socklen_t ) -> i32 {
282
- -EINVAL
283
- }
284
264
285
265
fn accept ( & self , addr : * mut sockaddr , addrlen : * mut socklen_t ) -> i32 {
286
266
block_on ( self . async_accept ( addr, addrlen) , None )
@@ -545,6 +525,50 @@ impl ObjectInterface for Socket<IPv4> {
545
525
-EINVAL
546
526
}
547
527
}
528
+
529
+ fn accept ( & self , addr : * mut sockaddr , addrlen : * mut socklen_t ) -> i32 {
530
+ self . accept ( addr, addrlen)
531
+ }
532
+
533
+ fn read ( & self , buf : * mut u8 , len : usize ) -> isize {
534
+ self . read ( buf, len)
535
+ }
536
+
537
+ fn write ( & self , buf : * const u8 , len : usize ) -> isize {
538
+ self . write ( buf, len)
539
+ }
540
+
541
+ fn listen ( & self , backlog : i32 ) -> i32 {
542
+ self . listen ( backlog)
543
+ }
544
+
545
+ fn setsockopt (
546
+ & self ,
547
+ level : i32 ,
548
+ optname : i32 ,
549
+ optval : * const c_void ,
550
+ optlen : socklen_t ,
551
+ ) -> i32 {
552
+ self . setsockopt ( level, optname, optval, optlen)
553
+ }
554
+
555
+ fn getsockopt (
556
+ & self ,
557
+ level : i32 ,
558
+ optname : i32 ,
559
+ optval : * mut c_void ,
560
+ optlen : * mut socklen_t ,
561
+ ) -> i32 {
562
+ self . getsockopt ( level, optname, optval, optlen)
563
+ }
564
+
565
+ fn shutdown ( & self , how : i32 ) -> i32 {
566
+ self . shutdown ( how)
567
+ }
568
+
569
+ fn ioctl ( & self , cmd : i32 , argp : * mut c_void ) -> i32 {
570
+ self . ioctl ( cmd, argp)
571
+ }
548
572
}
549
573
550
574
impl ObjectInterface for Socket < IPv6 > {
@@ -646,4 +670,48 @@ impl ObjectInterface for Socket<IPv6> {
646
670
-EINVAL
647
671
}
648
672
}
673
+
674
+ fn accept ( & self , addr : * mut sockaddr , addrlen : * mut socklen_t ) -> i32 {
675
+ self . accept ( addr, addrlen)
676
+ }
677
+
678
+ fn read ( & self , buf : * mut u8 , len : usize ) -> isize {
679
+ self . read ( buf, len)
680
+ }
681
+
682
+ fn write ( & self , buf : * const u8 , len : usize ) -> isize {
683
+ self . write ( buf, len)
684
+ }
685
+
686
+ fn listen ( & self , backlog : i32 ) -> i32 {
687
+ self . listen ( backlog)
688
+ }
689
+
690
+ fn setsockopt (
691
+ & self ,
692
+ level : i32 ,
693
+ optname : i32 ,
694
+ optval : * const c_void ,
695
+ optlen : socklen_t ,
696
+ ) -> i32 {
697
+ self . setsockopt ( level, optname, optval, optlen)
698
+ }
699
+
700
+ fn getsockopt (
701
+ & self ,
702
+ level : i32 ,
703
+ optname : i32 ,
704
+ optval : * mut c_void ,
705
+ optlen : * mut socklen_t ,
706
+ ) -> i32 {
707
+ self . getsockopt ( level, optname, optval, optlen)
708
+ }
709
+
710
+ fn shutdown ( & self , how : i32 ) -> i32 {
711
+ self . shutdown ( how)
712
+ }
713
+
714
+ fn ioctl ( & self , cmd : i32 , argp : * mut c_void ) -> i32 {
715
+ self . ioctl ( cmd, argp)
716
+ }
649
717
}
0 commit comments