github.com/edwarnicke/govpp@v0.0.0-20230130211138-14ef5d20b1d0/binapi/svs/svs_rpc.ba.go (about)

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  
     3  package svs
     4  
     5  import (
     6  	"context"
     7  	"fmt"
     8  	"io"
     9  
    10  	api "git.fd.io/govpp.git/api"
    11  	memclnt "github.com/edwarnicke/govpp/binapi/memclnt"
    12  )
    13  
    14  // RPCService defines RPC service svs.
    15  type RPCService interface {
    16  	SvsDump(ctx context.Context, in *SvsDump) (RPCService_SvsDumpClient, error)
    17  	SvsEnableDisable(ctx context.Context, in *SvsEnableDisable) (*SvsEnableDisableReply, error)
    18  	SvsPluginGetVersion(ctx context.Context, in *SvsPluginGetVersion) (*SvsPluginGetVersionReply, error)
    19  	SvsRouteAddDel(ctx context.Context, in *SvsRouteAddDel) (*SvsRouteAddDelReply, error)
    20  	SvsTableAddDel(ctx context.Context, in *SvsTableAddDel) (*SvsTableAddDelReply, error)
    21  }
    22  
    23  type serviceClient struct {
    24  	conn api.Connection
    25  }
    26  
    27  func NewServiceClient(conn api.Connection) RPCService {
    28  	return &serviceClient{conn}
    29  }
    30  
    31  func (c *serviceClient) SvsDump(ctx context.Context, in *SvsDump) (RPCService_SvsDumpClient, error) {
    32  	stream, err := c.conn.NewStream(ctx)
    33  	if err != nil {
    34  		return nil, err
    35  	}
    36  	x := &serviceClient_SvsDumpClient{stream}
    37  	if err := x.Stream.SendMsg(in); err != nil {
    38  		return nil, err
    39  	}
    40  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
    41  		return nil, err
    42  	}
    43  	return x, nil
    44  }
    45  
    46  type RPCService_SvsDumpClient interface {
    47  	Recv() (*SvsDetails, error)
    48  	api.Stream
    49  }
    50  
    51  type serviceClient_SvsDumpClient struct {
    52  	api.Stream
    53  }
    54  
    55  func (c *serviceClient_SvsDumpClient) Recv() (*SvsDetails, error) {
    56  	msg, err := c.Stream.RecvMsg()
    57  	if err != nil {
    58  		return nil, err
    59  	}
    60  	switch m := msg.(type) {
    61  	case *SvsDetails:
    62  		return m, nil
    63  	case *memclnt.ControlPingReply:
    64  		err = c.Stream.Close()
    65  		if err != nil {
    66  			return nil, err
    67  		}
    68  		return nil, io.EOF
    69  	default:
    70  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
    71  	}
    72  }
    73  
    74  func (c *serviceClient) SvsEnableDisable(ctx context.Context, in *SvsEnableDisable) (*SvsEnableDisableReply, error) {
    75  	out := new(SvsEnableDisableReply)
    76  	err := c.conn.Invoke(ctx, in, out)
    77  	if err != nil {
    78  		return nil, err
    79  	}
    80  	return out, api.RetvalToVPPApiError(out.Retval)
    81  }
    82  
    83  func (c *serviceClient) SvsPluginGetVersion(ctx context.Context, in *SvsPluginGetVersion) (*SvsPluginGetVersionReply, error) {
    84  	out := new(SvsPluginGetVersionReply)
    85  	err := c.conn.Invoke(ctx, in, out)
    86  	if err != nil {
    87  		return nil, err
    88  	}
    89  	return out, nil
    90  }
    91  
    92  func (c *serviceClient) SvsRouteAddDel(ctx context.Context, in *SvsRouteAddDel) (*SvsRouteAddDelReply, error) {
    93  	out := new(SvsRouteAddDelReply)
    94  	err := c.conn.Invoke(ctx, in, out)
    95  	if err != nil {
    96  		return nil, err
    97  	}
    98  	return out, api.RetvalToVPPApiError(out.Retval)
    99  }
   100  
   101  func (c *serviceClient) SvsTableAddDel(ctx context.Context, in *SvsTableAddDel) (*SvsTableAddDelReply, error) {
   102  	out := new(SvsTableAddDelReply)
   103  	err := c.conn.Invoke(ctx, in, out)
   104  	if err != nil {
   105  		return nil, err
   106  	}
   107  	return out, api.RetvalToVPPApiError(out.Retval)
   108  }