|  | @@ -124,12 +124,14 @@ func (v *AesCfb) IVSize() int32 {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (v *AesCfb) NewEncryptionWriter(key []byte, iv []byte, writer io.Writer) (buf.Writer, error) {
 | 
	
		
			
				|  |  |  	stream := crypto.NewAesEncryptionStream(key, iv)
 | 
	
		
			
				|  |  | -	return buf.NewWriter(crypto.NewCryptionWriter(stream, writer)), nil
 | 
	
		
			
				|  |  | +	return &buf.SequentialWriter{Writer: crypto.NewCryptionWriter(stream, writer)}, nil
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (v *AesCfb) NewDecryptionReader(key []byte, iv []byte, reader io.Reader) (buf.Reader, error) {
 | 
	
		
			
				|  |  |  	stream := crypto.NewAesDecryptionStream(key, iv)
 | 
	
		
			
				|  |  | -	return buf.NewReader(crypto.NewCryptionReader(stream, reader)), nil
 | 
	
		
			
				|  |  | +	return &buf.SingleReader{
 | 
	
		
			
				|  |  | +		Reader: crypto.NewCryptionReader(stream, reader),
 | 
	
		
			
				|  |  | +	}, nil
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (v *AesCfb) EncodePacket(key []byte, b *buf.Buffer) error {
 | 
	
	
		
			
				|  | @@ -243,12 +245,12 @@ func (v *ChaCha20) IVSize() int32 {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (v *ChaCha20) NewEncryptionWriter(key []byte, iv []byte, writer io.Writer) (buf.Writer, error) {
 | 
	
		
			
				|  |  |  	stream := crypto.NewChaCha20Stream(key, iv)
 | 
	
		
			
				|  |  | -	return buf.NewWriter(crypto.NewCryptionWriter(stream, writer)), nil
 | 
	
		
			
				|  |  | +	return &buf.SequentialWriter{Writer: crypto.NewCryptionWriter(stream, writer)}, nil
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (v *ChaCha20) NewDecryptionReader(key []byte, iv []byte, reader io.Reader) (buf.Reader, error) {
 | 
	
		
			
				|  |  |  	stream := crypto.NewChaCha20Stream(key, iv)
 | 
	
		
			
				|  |  | -	return buf.NewReader(crypto.NewCryptionReader(stream, reader)), nil
 | 
	
		
			
				|  |  | +	return &buf.SingleReader{Reader: crypto.NewCryptionReader(stream, reader)}, nil
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (v *ChaCha20) EncodePacket(key []byte, b *buf.Buffer) error {
 |