d9283c04f4c814cdc52b646eb75458f49d6e7b24
[govpp.git] / binapi / svs / svs_rpc.ba.go
1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
2
3 package svs
4
5 import (
6         "context"
7         "fmt"
8         "io"
9
10         api "git.fd.io/govpp.git/api"
11         memclnt "git.fd.io/govpp.git/binapi/memclnt"
12 )
13
14 // RPCService defines RPC service svs.
15 type RPCService interface {
16         SvsDump(ctx context.Context, in *SvsDump) (RPCService_SvsDumpClient, error)
17         SvsEnableDisable(ctx context.Context, in *SvsEnableDisable) (*SvsEnableDisableReply, error)
18         SvsPluginGetVersion(ctx context.Context, in *SvsPluginGetVersion) (*SvsPluginGetVersionReply, error)
19         SvsRouteAddDel(ctx context.Context, in *SvsRouteAddDel) (*SvsRouteAddDelReply, error)
20         SvsTableAddDel(ctx context.Context, in *SvsTableAddDel) (*SvsTableAddDelReply, error)
21 }
22
23 type serviceClient struct {
24         conn api.Connection
25 }
26
27 func NewServiceClient(conn api.Connection) RPCService {
28         return &serviceClient{conn}
29 }
30
31 func (c *serviceClient) SvsDump(ctx context.Context, in *SvsDump) (RPCService_SvsDumpClient, error) {
32         stream, err := c.conn.NewStream(ctx)
33         if err != nil {
34                 return nil, err
35         }
36         x := &serviceClient_SvsDumpClient{stream}
37         if err := x.Stream.SendMsg(in); err != nil {
38                 return nil, err
39         }
40         if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
41                 return nil, err
42         }
43         return x, nil
44 }
45
46 type RPCService_SvsDumpClient interface {
47         Recv() (*SvsDetails, error)
48         api.Stream
49 }
50
51 type serviceClient_SvsDumpClient struct {
52         api.Stream
53 }
54
55 func (c *serviceClient_SvsDumpClient) Recv() (*SvsDetails, error) {
56         msg, err := c.Stream.RecvMsg()
57         if err != nil {
58                 return nil, err
59         }
60         switch m := msg.(type) {
61         case *SvsDetails:
62                 return m, nil
63         case *memclnt.ControlPingReply:
64                 err = c.Stream.Close()
65                 if err != nil {
66                         return nil, err
67                 }
68                 return nil, io.EOF
69         default:
70                 return nil, fmt.Errorf("unexpected message: %T %v", m, m)
71         }
72 }
73
74 func (c *serviceClient) SvsEnableDisable(ctx context.Context, in *SvsEnableDisable) (*SvsEnableDisableReply, error) {
75         out := new(SvsEnableDisableReply)
76         err := c.conn.Invoke(ctx, in, out)
77         if err != nil {
78                 return nil, err
79         }
80         return out, api.RetvalToVPPApiError(out.Retval)
81 }
82
83 func (c *serviceClient) SvsPluginGetVersion(ctx context.Context, in *SvsPluginGetVersion) (*SvsPluginGetVersionReply, error) {
84         out := new(SvsPluginGetVersionReply)
85         err := c.conn.Invoke(ctx, in, out)
86         if err != nil {
87                 return nil, err
88         }
89         return out, nil
90 }
91
92 func (c *serviceClient) SvsRouteAddDel(ctx context.Context, in *SvsRouteAddDel) (*SvsRouteAddDelReply, error) {
93         out := new(SvsRouteAddDelReply)
94         err := c.conn.Invoke(ctx, in, out)
95         if err != nil {
96                 return nil, err
97         }
98         return out, api.RetvalToVPPApiError(out.Retval)
99 }
100
101 func (c *serviceClient) SvsTableAddDel(ctx context.Context, in *SvsTableAddDel) (*SvsTableAddDelReply, error) {
102         out := new(SvsTableAddDelReply)
103         err := c.conn.Invoke(ctx, in, out)
104         if err != nil {
105                 return nil, err
106         }
107         return out, api.RetvalToVPPApiError(out.Retval)
108 }