X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=frontend%2Fconn.go;h=057ef6c15955179fa3b2611c22694a8eb49f4e2c;hb=4206e0dbca82f5df7d8e534f78cb737979880916;hp=02dfe8bf904111b1edca797cc61270dab64b5bc6;hpb=09dd8f99fd8598b809f4d58d4a325310b555981f;p=safcm%2Fsafcm.git diff --git a/frontend/conn.go b/frontend/conn.go index 02dfe8b..057ef6c 100644 --- a/frontend/conn.go +++ b/frontend/conn.go @@ -1,6 +1,6 @@ // Frontend: Connection functions for programs using the safcm library -// Copyright (C) 2021 Simon Ruderich +// Copyright (C) 2021-2022 Simon Ruderich // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -64,3 +64,20 @@ func (l *Loop) HostInfoMsg(host Host, conn *rpc.Conn, req safcm.MsgInfoReq) ( } return resp, nil } + +// HostSyncMsg sends a MsgSyncReq for host via conn and returns the resulting +// MsgSyncResp. +func (l *Loop) HostSyncMsg(host Host, conn *rpc.Conn, req safcm.MsgSyncReq) ( + safcm.MsgSyncResp, error) { + + var empty safcm.MsgSyncResp + x, err := l.SendRecv(host, conn, req) + if err != nil { + return empty, err + } + resp, ok := x.(safcm.MsgSyncResp) + if !ok { + return empty, fmt.Errorf("unexpected response %v", x) + } + return resp, nil +}