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

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  
     3  package vxlan_gpe
     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 vxlan_gpe.
    15  type RPCService interface {
    16  	SwInterfaceSetVxlanGpeBypass(ctx context.Context, in *SwInterfaceSetVxlanGpeBypass) (*SwInterfaceSetVxlanGpeBypassReply, error)
    17  	VxlanGpeAddDelTunnel(ctx context.Context, in *VxlanGpeAddDelTunnel) (*VxlanGpeAddDelTunnelReply, error)
    18  	VxlanGpeAddDelTunnelV2(ctx context.Context, in *VxlanGpeAddDelTunnelV2) (*VxlanGpeAddDelTunnelV2Reply, error)
    19  	VxlanGpeTunnelDump(ctx context.Context, in *VxlanGpeTunnelDump) (RPCService_VxlanGpeTunnelDumpClient, error)
    20  	VxlanGpeTunnelV2Dump(ctx context.Context, in *VxlanGpeTunnelV2Dump) (RPCService_VxlanGpeTunnelV2DumpClient, 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) SwInterfaceSetVxlanGpeBypass(ctx context.Context, in *SwInterfaceSetVxlanGpeBypass) (*SwInterfaceSetVxlanGpeBypassReply, error) {
    32  	out := new(SwInterfaceSetVxlanGpeBypassReply)
    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) VxlanGpeAddDelTunnel(ctx context.Context, in *VxlanGpeAddDelTunnel) (*VxlanGpeAddDelTunnelReply, error) {
    41  	out := new(VxlanGpeAddDelTunnelReply)
    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) VxlanGpeAddDelTunnelV2(ctx context.Context, in *VxlanGpeAddDelTunnelV2) (*VxlanGpeAddDelTunnelV2Reply, error) {
    50  	out := new(VxlanGpeAddDelTunnelV2Reply)
    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) VxlanGpeTunnelDump(ctx context.Context, in *VxlanGpeTunnelDump) (RPCService_VxlanGpeTunnelDumpClient, error) {
    59  	stream, err := c.conn.NewStream(ctx)
    60  	if err != nil {
    61  		return nil, err
    62  	}
    63  	x := &serviceClient_VxlanGpeTunnelDumpClient{stream}
    64  	if err := x.Stream.SendMsg(in); err != nil {
    65  		return nil, err
    66  	}
    67  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
    68  		return nil, err
    69  	}
    70  	return x, nil
    71  }
    72  
    73  type RPCService_VxlanGpeTunnelDumpClient interface {
    74  	Recv() (*VxlanGpeTunnelDetails, error)
    75  	api.Stream
    76  }
    77  
    78  type serviceClient_VxlanGpeTunnelDumpClient struct {
    79  	api.Stream
    80  }
    81  
    82  func (c *serviceClient_VxlanGpeTunnelDumpClient) Recv() (*VxlanGpeTunnelDetails, error) {
    83  	msg, err := c.Stream.RecvMsg()
    84  	if err != nil {
    85  		return nil, err
    86  	}
    87  	switch m := msg.(type) {
    88  	case *VxlanGpeTunnelDetails:
    89  		return m, nil
    90  	case *memclnt.ControlPingReply:
    91  		err = c.Stream.Close()
    92  		if err != nil {
    93  			return nil, err
    94  		}
    95  		return nil, io.EOF
    96  	default:
    97  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
    98  	}
    99  }
   100  
   101  func (c *serviceClient) VxlanGpeTunnelV2Dump(ctx context.Context, in *VxlanGpeTunnelV2Dump) (RPCService_VxlanGpeTunnelV2DumpClient, error) {
   102  	stream, err := c.conn.NewStream(ctx)
   103  	if err != nil {
   104  		return nil, err
   105  	}
   106  	x := &serviceClient_VxlanGpeTunnelV2DumpClient{stream}
   107  	if err := x.Stream.SendMsg(in); err != nil {
   108  		return nil, err
   109  	}
   110  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   111  		return nil, err
   112  	}
   113  	return x, nil
   114  }
   115  
   116  type RPCService_VxlanGpeTunnelV2DumpClient interface {
   117  	Recv() (*VxlanGpeTunnelV2Details, error)
   118  	api.Stream
   119  }
   120  
   121  type serviceClient_VxlanGpeTunnelV2DumpClient struct {
   122  	api.Stream
   123  }
   124  
   125  func (c *serviceClient_VxlanGpeTunnelV2DumpClient) Recv() (*VxlanGpeTunnelV2Details, error) {
   126  	msg, err := c.Stream.RecvMsg()
   127  	if err != nil {
   128  		return nil, err
   129  	}
   130  	switch m := msg.(type) {
   131  	case *VxlanGpeTunnelV2Details:
   132  		return m, nil
   133  	case *memclnt.ControlPingReply:
   134  		err = c.Stream.Close()
   135  		if err != nil {
   136  			return nil, err
   137  		}
   138  		return nil, io.EOF
   139  	default:
   140  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   141  	}
   142  }