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