import (
"bufio"
- "bytes"
"errors"
"fmt"
"io"
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)
// 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}
}
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) {