e8bcdc657020dad3863347cc60f337c9e1dbb111
[govpp.git] / binapi / vmxnet3 / vmxnet3_rpc.ba.go
1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
2
3 package vmxnet3
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 vmxnet3.
15 type RPCService interface {
16         SwVmxnet3InterfaceDump(ctx context.Context, in *SwVmxnet3InterfaceDump) (RPCService_SwVmxnet3InterfaceDumpClient, error)
17         Vmxnet3Create(ctx context.Context, in *Vmxnet3Create) (*Vmxnet3CreateReply, error)
18         Vmxnet3Delete(ctx context.Context, in *Vmxnet3Delete) (*Vmxnet3DeleteReply, error)
19         Vmxnet3Dump(ctx context.Context, in *Vmxnet3Dump) (RPCService_Vmxnet3DumpClient, error)
20 }
21
22 type serviceClient struct {
23         conn api.Connection
24 }
25
26 func NewServiceClient(conn api.Connection) RPCService {
27         return &serviceClient{conn}
28 }
29
30 func (c *serviceClient) SwVmxnet3InterfaceDump(ctx context.Context, in *SwVmxnet3InterfaceDump) (RPCService_SwVmxnet3InterfaceDumpClient, error) {
31         stream, err := c.conn.NewStream(ctx)
32         if err != nil {
33                 return nil, err
34         }
35         x := &serviceClient_SwVmxnet3InterfaceDumpClient{stream}
36         if err := x.Stream.SendMsg(in); err != nil {
37                 return nil, err
38         }
39         if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil {
40                 return nil, err
41         }
42         return x, nil
43 }
44
45 type RPCService_SwVmxnet3InterfaceDumpClient interface {
46         Recv() (*SwVmxnet3InterfaceDetails, error)
47         api.Stream
48 }
49
50 type serviceClient_SwVmxnet3InterfaceDumpClient struct {
51         api.Stream
52 }
53
54 func (c *serviceClient_SwVmxnet3InterfaceDumpClient) Recv() (*SwVmxnet3InterfaceDetails, error) {
55         msg, err := c.Stream.RecvMsg()
56         if err != nil {
57                 return nil, err
58         }
59         switch m := msg.(type) {
60         case *SwVmxnet3InterfaceDetails:
61                 return m, nil
62         case *vpe.ControlPingReply:
63                 return nil, io.EOF
64         default:
65                 return nil, fmt.Errorf("unexpected message: %T %v", m, m)
66         }
67 }
68
69 func (c *serviceClient) Vmxnet3Create(ctx context.Context, in *Vmxnet3Create) (*Vmxnet3CreateReply, error) {
70         out := new(Vmxnet3CreateReply)
71         err := c.conn.Invoke(ctx, in, out)
72         if err != nil {
73                 return nil, err
74         }
75         return out, api.RetvalToVPPApiError(out.Retval)
76 }
77
78 func (c *serviceClient) Vmxnet3Delete(ctx context.Context, in *Vmxnet3Delete) (*Vmxnet3DeleteReply, error) {
79         out := new(Vmxnet3DeleteReply)
80         err := c.conn.Invoke(ctx, in, out)
81         if err != nil {
82                 return nil, err
83         }
84         return out, api.RetvalToVPPApiError(out.Retval)
85 }
86
87 func (c *serviceClient) Vmxnet3Dump(ctx context.Context, in *Vmxnet3Dump) (RPCService_Vmxnet3DumpClient, error) {
88         stream, err := c.conn.NewStream(ctx)
89         if err != nil {
90                 return nil, err
91         }
92         x := &serviceClient_Vmxnet3DumpClient{stream}
93         if err := x.Stream.SendMsg(in); err != nil {
94                 return nil, err
95         }
96         if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil {
97                 return nil, err
98         }
99         return x, nil
100 }
101
102 type RPCService_Vmxnet3DumpClient interface {
103         Recv() (*Vmxnet3Details, error)
104         api.Stream
105 }
106
107 type serviceClient_Vmxnet3DumpClient struct {
108         api.Stream
109 }
110
111 func (c *serviceClient_Vmxnet3DumpClient) Recv() (*Vmxnet3Details, error) {
112         msg, err := c.Stream.RecvMsg()
113         if err != nil {
114                 return nil, err
115         }
116         switch m := msg.(type) {
117         case *Vmxnet3Details:
118                 return m, nil
119         case *vpe.ControlPingReply:
120                 return nil, io.EOF
121         default:
122                 return nil, fmt.Errorf("unexpected message: %T %v", m, m)
123         }
124 }