X-Git-Url: https://ruderich.org/simon/gitweb/?p=safcm%2Fsafcm.git;a=blobdiff_plain;f=cmd%2Fsafcm%2Fsync.go;h=2f297c8dc69288aa4017f57d4e741562740784d9;hp=f1877cffde6b9b42b18955587192a19fda43127d;hb=5bbdbf913be3152f60d556e4b20e1ddb2d66d0c0;hpb=ecbcb0132728cc18016819a214378b642d92278e diff --git a/cmd/safcm/sync.go b/cmd/safcm/sync.go index f1877cf..2f297c8 100644 --- a/cmd/safcm/sync.go +++ b/cmd/safcm/sync.go @@ -44,6 +44,7 @@ type Sync struct { isTTY bool + loop *frontend.Loop logFunc func(level safcm.LogLevel, escaped bool, msg string) } @@ -119,10 +120,11 @@ func MainSync(args []string) error { allHosts: allHosts, allGroups: allGroups, isTTY: isTTY, + loop: loop, } s.logFunc = func(level safcm.LogLevel, escaped bool, msg string) { - loop.Log(s, level, escaped, msg) + s.loop.Log(s, level, escaped, msg) } hosts = append(hosts, s) } @@ -319,25 +321,3 @@ func (s *Sync) logDebugf(format string, a ...interface{}) { func (s *Sync) logVerbosef(format string, a ...interface{}) { s.log(safcm.LogVerbose, false, fmt.Sprintf(format, a...)) } - -// sendRecv sends a message over conn and waits for the response. Any MsgLog -// messages received before the final (non MsgLog) response are passed to -// s.log. -func (s *Sync) sendRecv(conn *rpc.Conn, msg safcm.Msg) (safcm.Msg, error) { - err := conn.Send(msg) - if err != nil { - return nil, err - } - for { - x, err := conn.Recv() - if err != nil { - return nil, err - } - log, ok := x.(safcm.MsgLog) - if ok { - s.log(log.Level, false, log.Text) - continue - } - return x, nil - } -}