File tree Expand file tree Collapse file tree 2 files changed +37
-1
lines changed
branches/try/src/libcore/rt Expand file tree Collapse file tree 2 files changed +37
-1
lines changed Original file line number Diff line number Diff line change 2
2
refs/heads/master: 5f13e9ccc2e3328d4cd8ca49f84e6840dd998346
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
4
refs/heads/snap-stage3: f7a2371c176663d59062ec5158f39faecba45768
5
- refs/heads/try: 57e85b5f947387195cec1338fcb94b7cfb88bd86
5
+ refs/heads/try: 7ef54c7ecd625376de092cbd741621987673c45f
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
8
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
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