@@ -261,26 +261,6 @@ impl<T> Socket<T> {
261261
262262 Ok ( ( ) )
263263 }
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- }
284264
285265 fn accept ( & self , addr : * mut sockaddr , addrlen : * mut socklen_t ) -> i32 {
286266 block_on ( self . async_accept ( addr, addrlen) , None )
@@ -545,6 +525,50 @@ impl ObjectInterface for Socket<IPv4> {
545525 -EINVAL
546526 }
547527 }
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+ }
548572}
549573
550574impl ObjectInterface for Socket < IPv6 > {
@@ -646,4 +670,48 @@ impl ObjectInterface for Socket<IPv6> {
646670 -EINVAL
647671 }
648672 }
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+ }
649717}
0 commit comments