aboutsummaryrefslogtreecommitdiffstats
path: root/binapigen
diff options
context:
space:
mode:
authormhalaj1 <matus.halaj@pantheon.tech>2021-08-26 20:15:08 +0200
committermhalaj1 <matus.halaj@pantheon.tech>2021-09-07 15:24:53 +0200
commitc09ee3241377aae2530a73d48c4e20641d76d0ee (patch)
tree219fd1f7d9ba595f0f4c8dac9796bc76ce3556fc /binapigen
parentdebc52dea8a81417bb08ca5bb934c7876b6d65e0 (diff)
Refactoring and fixes
* refactor creation of new channel * add missing closing of created streams * correct documentation regarding thread safety of stream Signed-off-by: mhalaj1 <matus.halaj@pantheon.tech> Change-Id: Ic601efff298fcbdecaafab83fa236253af69de21
Diffstat (limited to 'binapigen')
-rw-r--r--binapigen/gen_rpc.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/binapigen/gen_rpc.go b/binapigen/gen_rpc.go
index a5974c3..fa123f0 100644
--- a/binapigen/gen_rpc.go
+++ b/binapigen/gen_rpc.go
@@ -152,6 +152,8 @@ func genService(g *GenFile, svc *Service) {
g.P(" case *", msgDetails.GoIdent, ":")
g.P(" return m, nil")
g.P(" case *", msgReply.GoIdent, ":")
+ g.P(" err = c.Stream.Close()")
+ g.P(" if err != nil { return nil, err }")
g.P(" return nil, ", ioPkg.Ident("EOF"))
g.P(" default:")
g.P(" return nil, ", fmtPkg.Ident("Errorf"), "(\"unexpected message: %T %v\", m, m)")
@@ -174,6 +176,8 @@ func genService(g *GenFile, svc *Service) {
g.P("if err != nil { return err }")
g.P("err = stream.SendMsg(in)")
g.P("if err != nil { return err }")
+ g.P("err = stream.Close()")
+ g.P("if err != nil { return err }")
g.P("return nil")
}
g.P("}")