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