]> ruderich.org/simon Gitweb - safcm/safcm.git/commitdiff
frontend: add Loop.HostInfoMsg()
authorSimon Ruderich <simon@ruderich.org>
Tue, 18 May 2021 16:36:06 +0000 (18:36 +0200)
committerSimon Ruderich <simon@ruderich.org>
Wed, 19 May 2021 05:54:11 +0000 (07:54 +0200)
cmd/safcm/sync_info.go
frontend/conn.go

index 91878e8ea1e109165e42006f78e18089e60d77fe..8672a3e4d7fbba2ff1cba37b22e40925f586dd40 100644 (file)
@@ -28,17 +28,13 @@ import (
 )
 
 func (s *Sync) hostInfo(conn *rpc.Conn) ([]string, error) {
-       x, err := s.loop.SendRecv(s, conn, safcm.MsgInfoReq{
+       resp, err := s.loop.HostInfoMsg(s, conn, safcm.MsgInfoReq{
                LogLevel:     s.config.LogLevel,
                DetectGroups: s.config.DetectGroups,
        })
        if err != nil {
                return nil, err
        }
-       resp, ok := x.(safcm.MsgInfoResp)
-       if !ok {
-               return nil, fmt.Errorf("unexpected response %v", x)
-       }
        if resp.Error != "" {
                return nil, fmt.Errorf("%s", resp.Error)
        }
index 10f7c7b5a2dd680ab158ea705e5250b2934dcce7..02dfe8bf904111b1edca797cc61270dab64b5bc6 100644 (file)
@@ -18,6 +18,8 @@
 package frontend
 
 import (
+       "fmt"
+
        "ruderich.org/simon/safcm"
        "ruderich.org/simon/safcm/rpc"
 )
@@ -45,3 +47,20 @@ func (l *Loop) SendRecv(host Host, conn *rpc.Conn, msg safcm.Msg) (
                return x, nil
        }
 }
+
+// HostInfoMsg sends a MsgInfoReq for host via conn and returns the resulting
+// MsgInfoResp.
+func (l *Loop) HostInfoMsg(host Host, conn *rpc.Conn, req safcm.MsgInfoReq) (
+       safcm.MsgInfoResp, error) {
+
+       var empty safcm.MsgInfoResp
+       x, err := l.SendRecv(host, conn, req)
+       if err != nil {
+               return empty, err
+       }
+       resp, ok := x.(safcm.MsgInfoResp)
+       if !ok {
+               return empty, fmt.Errorf("unexpected response %v", x)
+       }
+       return resp, nil
+}