File tree Expand file tree Collapse file tree 1 file changed +36
-0
lines changed Expand file tree Collapse file tree 1 file changed +36
-0
lines changed Original file line number Diff line number Diff line change @@ -498,6 +498,42 @@ impl NativeHandle<*uvll::uv_write_t> for WriteRequest {
498
498
}
499
499
}
500
500
501
+ type FsCallback = ~fn ( FsRequest , Option < UvError > ) ;
502
+ impl Callback for FsCallback { }
503
+
504
+ pub struct FsRequest ( * uvll:: uv_fs_t ) ;
505
+
506
+ impl Request for FsRequest ;
507
+
508
+ impl FsRequest {
509
+ static fn new( ) -> FsRequest {
510
+ let fs_req = unsafe { malloc_req( UV_FS ) } ;
511
+ fail_unless!( fs_req. is_not_null( ) ) ;
512
+ let fs_req = fs_req as * uvll: : uv_write_t ;
513
+ uvll:: set_data_for_uv_req( fs_req, null:: < ( ) > ( ) ) ;
514
+ Native ( fs_req)
515
+ }
516
+
517
+ fn delete ( self ) {
518
+ unsafe { free_req ( self . native_handle ( ) as * c_void ) }
519
+ }
520
+
521
+ fn open ( & mut self , loop_ : & EventLoop , cb : FsCallback ) {
522
+ }
523
+
524
+ fn close ( & mut self , loop_ : & EventLoop , cb : FsCallback ) {
525
+ }
526
+ }
527
+
528
+ impl NativeHandle < * uvll:: uv_fs_t > for FsRequest {
529
+ static fn from_native_handle( handle: * uvll:: uv_fs_t ) -> FsRequest {
530
+ FsRequest ( handle )
531
+ }
532
+ fn native_handle ( & self ) -> * uvll:: uv_fs_t {
533
+ match self { & FsRequest ( ptr) => ptr }
534
+ }
535
+ }
536
+
501
537
// XXX: Need to define the error constants like EOF so they can be
502
538
// compared to the UvError type
503
539
You can’t perform that action at this time.
0 commit comments