X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=frontend%2Fconn.go;h=5755290bc78aac9fb07a01ba3743565290541d25;hb=d109a6151f48fc9e322bacbd3cc5e4f00eade713;hp=02dfe8bf904111b1edca797cc61270dab64b5bc6;hpb=09dd8f99fd8598b809f4d58d4a325310b555981f;p=safcm%2Fsafcm.git diff --git a/frontend/conn.go b/frontend/conn.go index 02dfe8b..5755290 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-2023 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 +}