@@ -329,7 +329,7 @@ pub impl<T,F:Flattener<T>,C:ByteChan> FlatChan<T, F, C> {
329
329
pub mod flatteners {
330
330
use ebml ;
331
331
use flatpipes:: { ByteChan , BytePort , Flattener , Unflattener } ;
332
- use flatpipes :: util :: BufReader ;
332
+ use io_util :: BufReader ;
333
333
use json;
334
334
use serialize:: { Encoder , Decoder , Encodable , Decodable } ;
335
335
@@ -340,7 +340,8 @@ pub mod flatteners {
340
340
use core:: sys:: size_of;
341
341
use core:: vec;
342
342
343
- // XXX: Is copy/send equivalent to pod?
343
+
344
+ // FIXME #4074: Copy + Owned != POD
344
345
pub struct PodUnflattener < T : Copy Owned > {
345
346
bogus : ( )
346
347
}
@@ -625,78 +626,18 @@ pub mod bytepipes {
625
626
626
627
}
627
628
628
- // XXX: This belongs elsewhere
629
- mod util {
630
- use core:: io:: { Reader , BytesReader } ;
631
- use core:: io;
632
- use core:: prelude:: * ;
633
-
634
- pub struct BufReader {
635
- buf : ~[ u8 ] ,
636
- mut pos : uint
637
- }
638
-
639
- pub impl BufReader {
640
- static pub fn new( v: ~[ u8 ] ) -> BufReader {
641
- BufReader {
642
- buf : move v,
643
- pos : 0
644
- }
645
- }
646
-
647
- priv fn as_bytes_reader < A > ( f : & fn ( & BytesReader ) -> A ) -> A {
648
- // Recreating the BytesReader state every call since
649
- // I can't get the borrowing to work correctly
650
- let bytes_reader = BytesReader {
651
- bytes : :: core:: util:: id :: < & [ u8 ] > ( self . buf ) ,
652
- pos : self . pos
653
- } ;
654
-
655
- let res = f ( & bytes_reader) ;
656
-
657
- // XXX: This isn't correct if f fails
658
- self . pos = bytes_reader. pos;
659
-
660
- return move res;
661
- }
662
- }
663
-
664
- impl BufReader : Reader {
665
- fn read ( & self , bytes : & [ mut u8] , len : uint ) -> uint {
666
- self . as_bytes_reader ( |r| r. read ( bytes, len) )
667
- }
668
- fn read_byte ( & self ) -> int {
669
- self . as_bytes_reader ( |r| r. read_byte ( ) )
670
- }
671
- fn eof ( & self ) -> bool {
672
- self . as_bytes_reader ( |r| r. eof ( ) )
673
- }
674
- fn seek ( & self , offset : int , whence : io:: SeekStyle ) {
675
- self . as_bytes_reader ( |r| r. seek ( offset, whence) )
676
- }
677
- fn tell ( & self ) -> uint {
678
- self . as_bytes_reader ( |r| r. tell ( ) )
679
- }
680
- }
681
-
682
- }
683
-
684
629
#[ cfg ( test ) ]
685
630
mod test {
686
631
use core:: prelude:: * ;
687
632
688
- // XXX: json::Decoder doesn't work because of problems related to
689
- // its interior pointers
690
- //use DefaultEncoder = json::Encoder;
691
- //use DefaultDecoder = json::Decoder;
692
- use DefaultEncoder = ebml:: writer:: Encoder ;
693
- use DefaultDecoder = ebml:: reader:: Decoder ;
633
+ use DefaultEncoder = json:: Encoder ;
634
+ use DefaultDecoder = json:: Decoder ;
694
635
695
636
use flatpipes:: flatteners:: * ;
696
637
use flatpipes:: bytepipes:: * ;
697
638
use flatpipes:: pod;
698
639
use flatpipes:: serial;
699
- use flatpipes :: util :: BufReader ;
640
+ use io_util :: BufReader ;
700
641
use flatpipes:: { BytePort , FlatChan , FlatPort } ;
701
642
use net:: ip;
702
643
use net:: tcp:: TcpSocketBuf ;
@@ -787,7 +728,7 @@ mod test {
787
728
}
788
729
}
789
730
790
- // XXX : Networking doesn't work on x86
731
+ // FIXME #2064 : Networking doesn't work on x86
791
732
#[ test]
792
733
#[ cfg( target_arch = "x86_64" ) ]
793
734
fn test_pod_tcp_stream ( ) {
@@ -934,7 +875,7 @@ mod test {
934
875
use flatpipes:: { BytePort , FlatPort } ;
935
876
use flatpipes:: flatteners:: PodUnflattener ;
936
877
use flatpipes:: pod;
937
- use flatpipes :: util :: BufReader ;
878
+ use io_util :: BufReader ;
938
879
939
880
use core:: io;
940
881
use core:: pipes;
0 commit comments