use struct embedding to express this less verbosely

This commit is contained in:
Jason Lunz 2021-12-16 16:07:58 -07:00
parent ac3b0c50e3
commit ca3b59dd35
No known key found for this signature in database
GPG key ID: 88F9FD38589448E9

View file

@ -6,6 +6,7 @@ import (
"context"
"errors"
"fmt"
"io"
"io/ioutil"
"log"
"net"
@ -441,28 +442,17 @@ func (fl *fileLogger) Close() error {
}
type combinedReadWriteCloser struct {
reader *os.File
writer *os.File
io.ReadCloser
io.WriteCloser
}
func newCombinedReadWriteCloser(reader *os.File, writer *os.File) (crwc *combinedReadWriteCloser) {
return &combinedReadWriteCloser{
reader: reader,
writer: writer,
}
}
func (crwc *combinedReadWriteCloser) Read(p []byte) (n int, err error) {
return crwc.reader.Read(p)
}
func (crwc *combinedReadWriteCloser) Write(p []byte) (n int, err error) {
return crwc.writer.Write(p)
return &combinedReadWriteCloser{reader, writer}
}
func (crwc *combinedReadWriteCloser) Close() error {
werr := crwc.writer.Close()
rerr := crwc.reader.Close()
werr := crwc.WriteCloser.Close()
rerr := crwc.ReadCloser.Close()
if werr != nil {
return werr
}