go.ligato.io/vpp-agent/v3@v3.5.0/plugins/vpp/binapi/vpp2106/vmxnet3/vmxnet3_rpc.ba.go (about)

     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 "go.fd.io/govpp/api"
    11  	vpe "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2106/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  		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) Vmxnet3Create(ctx context.Context, in *Vmxnet3Create) (*Vmxnet3CreateReply, error) {
    74  	out := new(Vmxnet3CreateReply)
    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) Vmxnet3Delete(ctx context.Context, in *Vmxnet3Delete) (*Vmxnet3DeleteReply, error) {
    83  	out := new(Vmxnet3DeleteReply)
    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) Vmxnet3Dump(ctx context.Context, in *Vmxnet3Dump) (RPCService_Vmxnet3DumpClient, error) {
    92  	stream, err := c.conn.NewStream(ctx)
    93  	if err != nil {
    94  		return nil, err
    95  	}
    96  	x := &serviceClient_Vmxnet3DumpClient{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_Vmxnet3DumpClient interface {
   107  	Recv() (*Vmxnet3Details, error)
   108  	api.Stream
   109  }
   110  
   111  type serviceClient_Vmxnet3DumpClient struct {
   112  	api.Stream
   113  }
   114  
   115  func (c *serviceClient_Vmxnet3DumpClient) Recv() (*Vmxnet3Details, error) {
   116  	msg, err := c.Stream.RecvMsg()
   117  	if err != nil {
   118  		return nil, err
   119  	}
   120  	switch m := msg.(type) {
   121  	case *Vmxnet3Details:
   122  		return m, nil
   123  	case *vpe.ControlPingReply:
   124  		err = c.Stream.Close()
   125  		if err != nil {
   126  			return nil, err
   127  		}
   128  		return nil, io.EOF
   129  	default:
   130  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   131  	}
   132  }