Reader/Writer should implement Close() to free convertor

This commit is contained in:
MoZhonghua 2016-06-23 16:59:02 +08:00
parent 8960e66bd3
commit 181ac22e08
2 changed files with 12 additions and 0 deletions

View File

@ -5,6 +5,7 @@ import (
"syscall"
)
// This implements io.ReadCloser interface
type Reader struct {
source io.Reader
converter *Converter
@ -61,6 +62,11 @@ func (this *Reader) fillBuffer() {
}
}
// Must be called to free memory
func (this *Reader) Close() error {
return this.converter.Close()
}
// implement the io.Reader interface
func (this *Reader) Read(p []byte) (n int, err error) {
// checks for when we have no data

View File

@ -2,6 +2,7 @@ package iconv
import "io"
// This implements io.WriteCloser interface
type Writer struct {
destination io.Writer
converter *Converter
@ -58,6 +59,11 @@ func (this *Writer) emptyBuffer() {
}
}
// Must be called to free memory
func (this *Writer) Close() error {
return this.converter.Close()
}
// implement the io.Writer interface
func (this *Writer) Write(p []byte) (n int, err error) {
// write data into our internal buffer