@@ -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 )
@@ -426,6 +406,70 @@ impl<T: core::marker::Sync + core::marker::Send + core::fmt::Debug + 'static> Ob
426406 }
427407}
428408
409+ impl < T : core:: marker:: Sync + core:: marker:: Send + core:: fmt:: Debug + ' static > ObjectInterface
410+ for Socket < T >
411+ {
412+ default fn bind ( & self , _name : * const sockaddr , _namelen : socklen_t ) -> i32 {
413+ -EINVAL
414+ }
415+
416+ default fn getsockname ( & self , _name : * mut sockaddr , _namelen : * mut socklen_t ) -> i32 {
417+ -EINVAL
418+ }
419+
420+ default fn getpeername ( & self , _name : * mut sockaddr , _namelen : * mut socklen_t ) -> i32 {
421+ -EINVAL
422+ }
423+
424+ default fn connect ( & self , _name : * const sockaddr , _namelen : socklen_t ) -> i32 {
425+ -EINVAL
426+ }
427+
428+ fn accept ( & self , addr : * mut sockaddr , addrlen : * mut socklen_t ) -> i32 {
429+ self . accept ( addr, addrlen)
430+ }
431+
432+ fn read ( & self , buf : * mut u8 , len : usize ) -> isize {
433+ self . read ( buf, len)
434+ }
435+
436+ fn write ( & self , buf : * const u8 , len : usize ) -> isize {
437+ self . write ( buf, len)
438+ }
439+
440+ fn listen ( & self , backlog : i32 ) -> i32 {
441+ self . listen ( backlog)
442+ }
443+
444+ fn setsockopt (
445+ & self ,
446+ level : i32 ,
447+ optname : i32 ,
448+ optval : * const c_void ,
449+ optlen : socklen_t ,
450+ ) -> i32 {
451+ self . setsockopt ( level, optname, optval, optlen)
452+ }
453+
454+ fn getsockopt (
455+ & self ,
456+ level : i32 ,
457+ optname : i32 ,
458+ optval : * mut c_void ,
459+ optlen : * mut socklen_t ,
460+ ) -> i32 {
461+ self . getsockopt ( level, optname, optval, optlen)
462+ }
463+
464+ fn shutdown ( & self , how : i32 ) -> i32 {
465+ self . shutdown ( how)
466+ }
467+
468+ fn ioctl ( & self , cmd : i32 , argp : * mut c_void ) -> i32 {
469+ self . ioctl ( cmd, argp)
470+ }
471+ }
472+
429473impl < T > Clone for Socket < T > {
430474 fn clone ( & self ) -> Self {
431475 let mut guard = NIC . lock ( ) ;
0 commit comments