github.com/networkservicemesh/govpp@v0.0.0-20240328101142-8a444680fbba/binapi/virtio/virtio_rpc.ba.go (about) 1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT. 2 3 package virtio 4 5 import ( 6 "context" 7 "fmt" 8 "io" 9 10 memclnt "github.com/networkservicemesh/govpp/binapi/memclnt" 11 api "go.fd.io/govpp/api" 12 ) 13 14 // RPCService defines RPC service virtio. 15 type RPCService interface { 16 SwInterfaceVirtioPciDump(ctx context.Context, in *SwInterfaceVirtioPciDump) (RPCService_SwInterfaceVirtioPciDumpClient, error) 17 VirtioPciCreate(ctx context.Context, in *VirtioPciCreate) (*VirtioPciCreateReply, error) 18 VirtioPciCreateV2(ctx context.Context, in *VirtioPciCreateV2) (*VirtioPciCreateV2Reply, error) 19 VirtioPciDelete(ctx context.Context, in *VirtioPciDelete) (*VirtioPciDeleteReply, 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) SwInterfaceVirtioPciDump(ctx context.Context, in *SwInterfaceVirtioPciDump) (RPCService_SwInterfaceVirtioPciDumpClient, error) { 31 stream, err := c.conn.NewStream(ctx) 32 if err != nil { 33 return nil, err 34 } 35 x := &serviceClient_SwInterfaceVirtioPciDumpClient{stream} 36 if err := x.Stream.SendMsg(in); err != nil { 37 return nil, err 38 } 39 if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil { 40 return nil, err 41 } 42 return x, nil 43 } 44 45 type RPCService_SwInterfaceVirtioPciDumpClient interface { 46 Recv() (*SwInterfaceVirtioPciDetails, error) 47 api.Stream 48 } 49 50 type serviceClient_SwInterfaceVirtioPciDumpClient struct { 51 api.Stream 52 } 53 54 func (c *serviceClient_SwInterfaceVirtioPciDumpClient) Recv() (*SwInterfaceVirtioPciDetails, error) { 55 msg, err := c.Stream.RecvMsg() 56 if err != nil { 57 return nil, err 58 } 59 switch m := msg.(type) { 60 case *SwInterfaceVirtioPciDetails: 61 return m, nil 62 case *memclnt.ControlPingReply: 63 err = c.Stream.Close() 64 if err != nil { 65 return nil, err 66 } 67 return nil, io.EOF 68 default: 69 return nil, fmt.Errorf("unexpected message: %T %v", m, m) 70 } 71 } 72 73 func (c *serviceClient) VirtioPciCreate(ctx context.Context, in *VirtioPciCreate) (*VirtioPciCreateReply, error) { 74 out := new(VirtioPciCreateReply) 75 err := c.conn.Invoke(ctx, in, out) 76 if err != nil { 77 return nil, err 78 } 79 return out, api.RetvalToVPPApiError(out.Retval) 80 } 81 82 func (c *serviceClient) VirtioPciCreateV2(ctx context.Context, in *VirtioPciCreateV2) (*VirtioPciCreateV2Reply, error) { 83 out := new(VirtioPciCreateV2Reply) 84 err := c.conn.Invoke(ctx, in, out) 85 if err != nil { 86 return nil, err 87 } 88 return out, api.RetvalToVPPApiError(out.Retval) 89 } 90 91 func (c *serviceClient) VirtioPciDelete(ctx context.Context, in *VirtioPciDelete) (*VirtioPciDeleteReply, error) { 92 out := new(VirtioPciDeleteReply) 93 err := c.conn.Invoke(ctx, in, out) 94 if err != nil { 95 return nil, err 96 } 97 return out, api.RetvalToVPPApiError(out.Retval) 98 }