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 {
498498 }
499499}
500500
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+
501537// XXX: Need to define the error constants like EOF so they can be
502538// compared to the UvError type
503539
You can’t perform that action at this time.
0 commit comments