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