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

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  
     3  package l2tp
     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 l2tp.
    15  type RPCService interface {
    16  	L2tpv3CreateTunnel(ctx context.Context, in *L2tpv3CreateTunnel) (*L2tpv3CreateTunnelReply, error)
    17  	L2tpv3InterfaceEnableDisable(ctx context.Context, in *L2tpv3InterfaceEnableDisable) (*L2tpv3InterfaceEnableDisableReply, error)
    18  	L2tpv3SetLookupKey(ctx context.Context, in *L2tpv3SetLookupKey) (*L2tpv3SetLookupKeyReply, error)
    19  	L2tpv3SetTunnelCookies(ctx context.Context, in *L2tpv3SetTunnelCookies) (*L2tpv3SetTunnelCookiesReply, error)
    20  	SwIfL2tpv3TunnelDump(ctx context.Context, in *SwIfL2tpv3TunnelDump) (RPCService_SwIfL2tpv3TunnelDumpClient, 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) L2tpv3CreateTunnel(ctx context.Context, in *L2tpv3CreateTunnel) (*L2tpv3CreateTunnelReply, error) {
    32  	out := new(L2tpv3CreateTunnelReply)
    33  	err := c.conn.Invoke(ctx, in, out)
    34  	if err != nil {
    35  		return nil, err
    36  	}
    37  	return out, api.RetvalToVPPApiError(out.Retval)
    38  }
    39  
    40  func (c *serviceClient) L2tpv3InterfaceEnableDisable(ctx context.Context, in *L2tpv3InterfaceEnableDisable) (*L2tpv3InterfaceEnableDisableReply, error) {
    41  	out := new(L2tpv3InterfaceEnableDisableReply)
    42  	err := c.conn.Invoke(ctx, in, out)
    43  	if err != nil {
    44  		return nil, err
    45  	}
    46  	return out, api.RetvalToVPPApiError(out.Retval)
    47  }
    48  
    49  func (c *serviceClient) L2tpv3SetLookupKey(ctx context.Context, in *L2tpv3SetLookupKey) (*L2tpv3SetLookupKeyReply, error) {
    50  	out := new(L2tpv3SetLookupKeyReply)
    51  	err := c.conn.Invoke(ctx, in, out)
    52  	if err != nil {
    53  		return nil, err
    54  	}
    55  	return out, api.RetvalToVPPApiError(out.Retval)
    56  }
    57  
    58  func (c *serviceClient) L2tpv3SetTunnelCookies(ctx context.Context, in *L2tpv3SetTunnelCookies) (*L2tpv3SetTunnelCookiesReply, error) {
    59  	out := new(L2tpv3SetTunnelCookiesReply)
    60  	err := c.conn.Invoke(ctx, in, out)
    61  	if err != nil {
    62  		return nil, err
    63  	}
    64  	return out, api.RetvalToVPPApiError(out.Retval)
    65  }
    66  
    67  func (c *serviceClient) SwIfL2tpv3TunnelDump(ctx context.Context, in *SwIfL2tpv3TunnelDump) (RPCService_SwIfL2tpv3TunnelDumpClient, error) {
    68  	stream, err := c.conn.NewStream(ctx)
    69  	if err != nil {
    70  		return nil, err
    71  	}
    72  	x := &serviceClient_SwIfL2tpv3TunnelDumpClient{stream}
    73  	if err := x.Stream.SendMsg(in); err != nil {
    74  		return nil, err
    75  	}
    76  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
    77  		return nil, err
    78  	}
    79  	return x, nil
    80  }
    81  
    82  type RPCService_SwIfL2tpv3TunnelDumpClient interface {
    83  	Recv() (*SwIfL2tpv3TunnelDetails, error)
    84  	api.Stream
    85  }
    86  
    87  type serviceClient_SwIfL2tpv3TunnelDumpClient struct {
    88  	api.Stream
    89  }
    90  
    91  func (c *serviceClient_SwIfL2tpv3TunnelDumpClient) Recv() (*SwIfL2tpv3TunnelDetails, error) {
    92  	msg, err := c.Stream.RecvMsg()
    93  	if err != nil {
    94  		return nil, err
    95  	}
    96  	switch m := msg.(type) {
    97  	case *SwIfL2tpv3TunnelDetails:
    98  		return m, nil
    99  	case *memclnt.ControlPingReply:
   100  		err = c.Stream.Close()
   101  		if err != nil {
   102  			return nil, err
   103  		}
   104  		return nil, io.EOF
   105  	default:
   106  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   107  	}
   108  }