aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/rpcserver/runner.go
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2025-01-24 17:17:53 +0100
committerAleksandr Nogikh <nogikh@google.com>2025-01-29 10:31:50 +0000
commit94e13671726abbcf766f9b4aacd2ee04de59dcbd (patch)
tree699abaa69f3509857969ca2d7ff3ea001df14c88 /pkg/rpcserver/runner.go
parent6eea27042142c1c5e810b642deb831a8ed55b3da (diff)
pkg/rpcserver: refactor to remove Fatalf calls
Apply necessary changes to pkg/flatrpc and pkg/manager as well.
Diffstat (limited to 'pkg/rpcserver/runner.go')
-rw-r--r--pkg/rpcserver/runner.go14
1 files changed, 8 insertions, 6 deletions
diff --git a/pkg/rpcserver/runner.go b/pkg/rpcserver/runner.go
index a6b763b9a..de38d29f7 100644
--- a/pkg/rpcserver/runner.go
+++ b/pkg/rpcserver/runner.go
@@ -77,12 +77,14 @@ type handshakeConfig struct {
}
type handshakeResult struct {
+ Files []*flatrpc.FileInfo
+ Features []*flatrpc.FeatureInfo
CovFilter []uint64
MachineInfo []byte
Canonicalizer *cover.CanonicalizerInstance
}
-func (runner *Runner) Handshake(conn *flatrpc.Conn, cfg *handshakeConfig) error {
+func (runner *Runner) Handshake(conn *flatrpc.Conn, cfg *handshakeConfig) (handshakeResult, error) {
if runner.updInfo != nil {
runner.updInfo(func(info *dispatcher.Info) {
info.Status = "handshake"
@@ -104,21 +106,21 @@ func (runner *Runner) Handshake(conn *flatrpc.Conn, cfg *handshakeConfig) error
Features: cfg.Features,
}
if err := flatrpc.Send(conn, connectReply); err != nil {
- return err
+ return handshakeResult{}, err
}
infoReq, err := flatrpc.Recv[*flatrpc.InfoRequestRaw](conn)
if err != nil {
- return err
+ return handshakeResult{}, err
}
ret, err := cfg.Callback(infoReq)
if err != nil {
- return err
+ return handshakeResult{}, err
}
infoReply := &flatrpc.InfoReply{
CoverFilter: ret.CovFilter,
}
if err := flatrpc.Send(conn, infoReply); err != nil {
- return err
+ return handshakeResult{}, err
}
runner.mu.Lock()
runner.conn = conn
@@ -132,7 +134,7 @@ func (runner *Runner) Handshake(conn *flatrpc.Conn, cfg *handshakeConfig) error
info.DetailedStatus = runner.QueryStatus
})
}
- return nil
+ return ret, nil
}
func (runner *Runner) ConnectionLoop() error {