From: Josh Bleecher Snyder Date: Tue, 22 Dec 2020 18:08:25 +0000 (-0800) Subject: device: simplify UAPI helper methods X-Git-Tag: 0.0.20210212~115 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a1c265b0c5bea2c1c4a62acac0045fe93cd691cd;p=thirdparty%2Fwireguard-go.git device: simplify UAPI helper methods bufio is not required. strings.Builder is cheaper than bytes.Buffer for constructing strings. io.Writer is more flexible than io.StringWriter, and just as cheap (when used with io.WriteString). Run gofmt. Signed-off-by: Josh Bleecher Snyder --- diff --git a/device/uapi.go b/device/uapi.go index 2843a4c..370ad4e 100644 --- a/device/uapi.go +++ b/device/uapi.go @@ -7,7 +7,6 @@ package device import ( "bufio" - "bytes" "errors" "fmt" "io" @@ -33,7 +32,7 @@ func (s IPCError) ErrorCode() int64 { return s.int64 } -func (device *Device) IpcGetOperation(w io.StringWriter) error { +func (device *Device) IpcGetOperation(w io.Writer) error { lines := make([]string, 0, 100) send := func(line string) { lines = append(lines, line) @@ -99,7 +98,7 @@ func (device *Device) IpcGetOperation(w io.StringWriter) error { // send lines (does not require resource locks) for _, line := range lines { - _, err := w.WriteString(line + "\n") + _, err := io.WriteString(w, line+"\n") if err != nil { return &IPCError{ipc.IpcErrorIO} } @@ -397,22 +396,16 @@ func (device *Device) IpcSetOperation(r io.Reader) error { return nil } - - func (device *Device) IpcGet() (string, error) { - buf := new(bytes.Buffer) - writer := bufio.NewWriter(buf) - if err := device.IpcGetOperation(writer); err != nil { - return "", err - } - if err := writer.Flush(); err != nil { + buf := new(strings.Builder) + if err := device.IpcGetOperation(buf); err != nil { return "", err } return buf.String(), nil } func (device *Device) IpcSet(uapiConf string) error { - return device.IpcSetOperation(bufio.NewReader(strings.NewReader(uapiConf))) + return device.IpcSetOperation(strings.NewReader(uapiConf)) } func (device *Device) IpcHandle(socket net.Conn) {