RlpStream array method
This commit is contained in:
		
							parent
							
								
									798b8b0fb8
								
							
						
					
					
						commit
						9f938fbaab
					
				
							
								
								
									
										16
									
								
								src/rlp.rs
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								src/rlp.rs
									
									
									
									
									
								
							@ -191,7 +191,7 @@ impl <'a> Iterator for RlpIterator<'a> {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/// container that should be used to encoding the rlp
 | 
			
		||||
/// container that should be used to encode rlp
 | 
			
		||||
pub struct RlpStream {
 | 
			
		||||
    len: usize,
 | 
			
		||||
    max_len: usize,
 | 
			
		||||
@ -200,8 +200,14 @@ pub struct RlpStream {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl RlpStream {
 | 
			
		||||
    /// create new container of size `max_len`
 | 
			
		||||
    pub fn new(max_len: usize) -> RlpStream {
 | 
			
		||||
    /// create new container for values appended one after another,
 | 
			
		||||
    /// but not being part of the same array
 | 
			
		||||
    pub fn new() -> RlpStream {
 | 
			
		||||
        RlpStream::array(0)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// create new container for array of size `max_len`
 | 
			
		||||
    pub fn array(max_len: usize) -> RlpStream {
 | 
			
		||||
        RlpStream {
 | 
			
		||||
            len: 0,
 | 
			
		||||
            max_len: max_len,
 | 
			
		||||
@ -238,7 +244,7 @@ impl RlpStream {
 | 
			
		||||
        self
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// return try if stream is ready
 | 
			
		||||
    /// return true if stream is ready
 | 
			
		||||
    pub fn is_finished(&self) -> bool {
 | 
			
		||||
        self.len == self.max_len
 | 
			
		||||
    }
 | 
			
		||||
@ -593,7 +599,7 @@ mod tests {
 | 
			
		||||
 | 
			
		||||
    #[test]
 | 
			
		||||
    fn rlp_stream() {
 | 
			
		||||
        let mut stream = RlpStream::new(2);
 | 
			
		||||
        let mut stream = RlpStream::array(2);
 | 
			
		||||
        stream.append(&"cat").append(&"dog");
 | 
			
		||||
        let out = stream.out().unwrap();
 | 
			
		||||
        assert_eq!(out, vec![0xc8, 0x83, b'c', b'a', b't', 0x83, b'd', b'o', b'g']);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user