Change module name to go.fd.io/govpp
[govpp.git] / binapi / igmp / igmp_rpc.ba.go
1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
2
3 package igmp
4
5 import (
6         "context"
7         "fmt"
8         "io"
9
10         api "go.fd.io/govpp/api"
11         memclnt "go.fd.io/govpp/binapi/memclnt"
12 )
13
14 // RPCService defines RPC service igmp.
15 type RPCService interface {
16         IgmpClearInterface(ctx context.Context, in *IgmpClearInterface) (*IgmpClearInterfaceReply, error)
17         IgmpDump(ctx context.Context, in *IgmpDump) (RPCService_IgmpDumpClient, error)
18         IgmpEnableDisable(ctx context.Context, in *IgmpEnableDisable) (*IgmpEnableDisableReply, error)
19         IgmpGroupPrefixDump(ctx context.Context, in *IgmpGroupPrefixDump) (RPCService_IgmpGroupPrefixDumpClient, error)
20         IgmpGroupPrefixSet(ctx context.Context, in *IgmpGroupPrefixSet) (*IgmpGroupPrefixSetReply, error)
21         IgmpListen(ctx context.Context, in *IgmpListen) (*IgmpListenReply, error)
22         IgmpProxyDeviceAddDel(ctx context.Context, in *IgmpProxyDeviceAddDel) (*IgmpProxyDeviceAddDelReply, error)
23         IgmpProxyDeviceAddDelInterface(ctx context.Context, in *IgmpProxyDeviceAddDelInterface) (*IgmpProxyDeviceAddDelInterfaceReply, error)
24         WantIgmpEvents(ctx context.Context, in *WantIgmpEvents) (*WantIgmpEventsReply, error)
25 }
26
27 type serviceClient struct {
28         conn api.Connection
29 }
30
31 func NewServiceClient(conn api.Connection) RPCService {
32         return &serviceClient{conn}
33 }
34
35 func (c *serviceClient) IgmpClearInterface(ctx context.Context, in *IgmpClearInterface) (*IgmpClearInterfaceReply, error) {
36         out := new(IgmpClearInterfaceReply)
37         err := c.conn.Invoke(ctx, in, out)
38         if err != nil {
39                 return nil, err
40         }
41         return out, api.RetvalToVPPApiError(out.Retval)
42 }
43
44 func (c *serviceClient) IgmpDump(ctx context.Context, in *IgmpDump) (RPCService_IgmpDumpClient, error) {
45         stream, err := c.conn.NewStream(ctx)
46         if err != nil {
47                 return nil, err
48         }
49         x := &serviceClient_IgmpDumpClient{stream}
50         if err := x.Stream.SendMsg(in); err != nil {
51                 return nil, err
52         }
53         if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
54                 return nil, err
55         }
56         return x, nil
57 }
58
59 type RPCService_IgmpDumpClient interface {
60         Recv() (*IgmpDetails, error)
61         api.Stream
62 }
63
64 type serviceClient_IgmpDumpClient struct {
65         api.Stream
66 }
67
68 func (c *serviceClient_IgmpDumpClient) Recv() (*IgmpDetails, error) {
69         msg, err := c.Stream.RecvMsg()
70         if err != nil {
71                 return nil, err
72         }
73         switch m := msg.(type) {
74         case *IgmpDetails:
75                 return m, nil
76         case *memclnt.ControlPingReply:
77                 err = c.Stream.Close()
78                 if err != nil {
79                         return nil, err
80                 }
81                 return nil, io.EOF
82         default:
83                 return nil, fmt.Errorf("unexpected message: %T %v", m, m)
84         }
85 }
86
87 func (c *serviceClient) IgmpEnableDisable(ctx context.Context, in *IgmpEnableDisable) (*IgmpEnableDisableReply, error) {
88         out := new(IgmpEnableDisableReply)
89         err := c.conn.Invoke(ctx, in, out)
90         if err != nil {
91                 return nil, err
92         }
93         return out, api.RetvalToVPPApiError(out.Retval)
94 }
95
96 func (c *serviceClient) IgmpGroupPrefixDump(ctx context.Context, in *IgmpGroupPrefixDump) (RPCService_IgmpGroupPrefixDumpClient, error) {
97         stream, err := c.conn.NewStream(ctx)
98         if err != nil {
99                 return nil, err
100         }
101         x := &serviceClient_IgmpGroupPrefixDumpClient{stream}
102         if err := x.Stream.SendMsg(in); err != nil {
103                 return nil, err
104         }
105         if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
106                 return nil, err
107         }
108         return x, nil
109 }
110
111 type RPCService_IgmpGroupPrefixDumpClient interface {
112         Recv() (*IgmpGroupPrefixDetails, error)
113         api.Stream
114 }
115
116 type serviceClient_IgmpGroupPrefixDumpClient struct {
117         api.Stream
118 }
119
120 func (c *serviceClient_IgmpGroupPrefixDumpClient) Recv() (*IgmpGroupPrefixDetails, error) {
121         msg, err := c.Stream.RecvMsg()
122         if err != nil {
123                 return nil, err
124         }
125         switch m := msg.(type) {
126         case *IgmpGroupPrefixDetails:
127                 return m, nil
128         case *memclnt.ControlPingReply:
129                 err = c.Stream.Close()
130                 if err != nil {
131                         return nil, err
132                 }
133                 return nil, io.EOF
134         default:
135                 return nil, fmt.Errorf("unexpected message: %T %v", m, m)
136         }
137 }
138
139 func (c *serviceClient) IgmpGroupPrefixSet(ctx context.Context, in *IgmpGroupPrefixSet) (*IgmpGroupPrefixSetReply, error) {
140         out := new(IgmpGroupPrefixSetReply)
141         err := c.conn.Invoke(ctx, in, out)
142         if err != nil {
143                 return nil, err
144         }
145         return out, api.RetvalToVPPApiError(out.Retval)
146 }
147
148 func (c *serviceClient) IgmpListen(ctx context.Context, in *IgmpListen) (*IgmpListenReply, error) {
149         out := new(IgmpListenReply)
150         err := c.conn.Invoke(ctx, in, out)
151         if err != nil {
152                 return nil, err
153         }
154         return out, api.RetvalToVPPApiError(out.Retval)
155 }
156
157 func (c *serviceClient) IgmpProxyDeviceAddDel(ctx context.Context, in *IgmpProxyDeviceAddDel) (*IgmpProxyDeviceAddDelReply, error) {
158         out := new(IgmpProxyDeviceAddDelReply)
159         err := c.conn.Invoke(ctx, in, out)
160         if err != nil {
161                 return nil, err
162         }
163         return out, api.RetvalToVPPApiError(out.Retval)
164 }
165
166 func (c *serviceClient) IgmpProxyDeviceAddDelInterface(ctx context.Context, in *IgmpProxyDeviceAddDelInterface) (*IgmpProxyDeviceAddDelInterfaceReply, error) {
167         out := new(IgmpProxyDeviceAddDelInterfaceReply)
168         err := c.conn.Invoke(ctx, in, out)
169         if err != nil {
170                 return nil, err
171         }
172         return out, api.RetvalToVPPApiError(out.Retval)
173 }
174
175 func (c *serviceClient) WantIgmpEvents(ctx context.Context, in *WantIgmpEvents) (*WantIgmpEventsReply, error) {
176         out := new(WantIgmpEventsReply)
177         err := c.conn.Invoke(ctx, in, out)
178         if err != nil {
179                 return nil, err
180         }
181         return out, api.RetvalToVPPApiError(out.Retval)
182 }