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

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  
     3  package af_packet
     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 af_packet.
    15  type RPCService interface {
    16  	AfPacketCreate(ctx context.Context, in *AfPacketCreate) (*AfPacketCreateReply, error)
    17  	AfPacketCreateV2(ctx context.Context, in *AfPacketCreateV2) (*AfPacketCreateV2Reply, error)
    18  	AfPacketCreateV3(ctx context.Context, in *AfPacketCreateV3) (*AfPacketCreateV3Reply, error)
    19  	AfPacketDelete(ctx context.Context, in *AfPacketDelete) (*AfPacketDeleteReply, error)
    20  	AfPacketDump(ctx context.Context, in *AfPacketDump) (RPCService_AfPacketDumpClient, error)
    21  	AfPacketSetL4CksumOffload(ctx context.Context, in *AfPacketSetL4CksumOffload) (*AfPacketSetL4CksumOffloadReply, error)
    22  }
    23  
    24  type serviceClient struct {
    25  	conn api.Connection
    26  }
    27  
    28  func NewServiceClient(conn api.Connection) RPCService {
    29  	return &serviceClient{conn}
    30  }
    31  
    32  func (c *serviceClient) AfPacketCreate(ctx context.Context, in *AfPacketCreate) (*AfPacketCreateReply, error) {
    33  	out := new(AfPacketCreateReply)
    34  	err := c.conn.Invoke(ctx, in, out)
    35  	if err != nil {
    36  		return nil, err
    37  	}
    38  	return out, api.RetvalToVPPApiError(out.Retval)
    39  }
    40  
    41  func (c *serviceClient) AfPacketCreateV2(ctx context.Context, in *AfPacketCreateV2) (*AfPacketCreateV2Reply, error) {
    42  	out := new(AfPacketCreateV2Reply)
    43  	err := c.conn.Invoke(ctx, in, out)
    44  	if err != nil {
    45  		return nil, err
    46  	}
    47  	return out, api.RetvalToVPPApiError(out.Retval)
    48  }
    49  
    50  func (c *serviceClient) AfPacketCreateV3(ctx context.Context, in *AfPacketCreateV3) (*AfPacketCreateV3Reply, error) {
    51  	out := new(AfPacketCreateV3Reply)
    52  	err := c.conn.Invoke(ctx, in, out)
    53  	if err != nil {
    54  		return nil, err
    55  	}
    56  	return out, api.RetvalToVPPApiError(out.Retval)
    57  }
    58  
    59  func (c *serviceClient) AfPacketDelete(ctx context.Context, in *AfPacketDelete) (*AfPacketDeleteReply, error) {
    60  	out := new(AfPacketDeleteReply)
    61  	err := c.conn.Invoke(ctx, in, out)
    62  	if err != nil {
    63  		return nil, err
    64  	}
    65  	return out, api.RetvalToVPPApiError(out.Retval)
    66  }
    67  
    68  func (c *serviceClient) AfPacketDump(ctx context.Context, in *AfPacketDump) (RPCService_AfPacketDumpClient, error) {
    69  	stream, err := c.conn.NewStream(ctx)
    70  	if err != nil {
    71  		return nil, err
    72  	}
    73  	x := &serviceClient_AfPacketDumpClient{stream}
    74  	if err := x.Stream.SendMsg(in); err != nil {
    75  		return nil, err
    76  	}
    77  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
    78  		return nil, err
    79  	}
    80  	return x, nil
    81  }
    82  
    83  type RPCService_AfPacketDumpClient interface {
    84  	Recv() (*AfPacketDetails, error)
    85  	api.Stream
    86  }
    87  
    88  type serviceClient_AfPacketDumpClient struct {
    89  	api.Stream
    90  }
    91  
    92  func (c *serviceClient_AfPacketDumpClient) Recv() (*AfPacketDetails, error) {
    93  	msg, err := c.Stream.RecvMsg()
    94  	if err != nil {
    95  		return nil, err
    96  	}
    97  	switch m := msg.(type) {
    98  	case *AfPacketDetails:
    99  		return m, nil
   100  	case *memclnt.ControlPingReply:
   101  		err = c.Stream.Close()
   102  		if err != nil {
   103  			return nil, err
   104  		}
   105  		return nil, io.EOF
   106  	default:
   107  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   108  	}
   109  }
   110  
   111  func (c *serviceClient) AfPacketSetL4CksumOffload(ctx context.Context, in *AfPacketSetL4CksumOffload) (*AfPacketSetL4CksumOffloadReply, error) {
   112  	out := new(AfPacketSetL4CksumOffloadReply)
   113  	err := c.conn.Invoke(ctx, in, out)
   114  	if err != nil {
   115  		return nil, err
   116  	}
   117  	return out, api.RetvalToVPPApiError(out.Retval)
   118  }