@@ -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 )
@@ -426,6 +406,70 @@ impl<T: core::marker::Sync + core::marker::Send + core::fmt::Debug + 'static> Ob
426
406
}
427
407
}
428
408
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
+
429
473
impl < T > Clone for Socket < T > {
430
474
fn clone ( & self ) -> Self {
431
475
let mut guard = NIC . lock ( ) ;
0 commit comments