github.com/networkservicemesh/govpp@v0.0.0-20240328101142-8a444680fbba/binapi/pbl/pbl_rpc.ba.go (about)

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  
     3  package pbl
     4  
     5  import (
     6  	"context"
     7  	"fmt"
     8  	"io"
     9  
    10  	memclnt "github.com/networkservicemesh/govpp/binapi/memclnt"
    11  	api "go.fd.io/govpp/api"
    12  )
    13  
    14  // RPCService defines RPC service pbl.
    15  type RPCService interface {
    16  	PblClientDel(ctx context.Context, in *PblClientDel) (*PblClientDelReply, error)
    17  	PblClientDump(ctx context.Context, in *PblClientDump) (RPCService_PblClientDumpClient, error)
    18  	PblClientUpdate(ctx context.Context, in *PblClientUpdate) (*PblClientUpdateReply, error)
    19  }
    20  
    21  type serviceClient struct {
    22  	conn api.Connection
    23  }
    24  
    25  func NewServiceClient(conn api.Connection) RPCService {
    26  	return &serviceClient{conn}
    27  }
    28  
    29  func (c *serviceClient) PblClientDel(ctx context.Context, in *PblClientDel) (*PblClientDelReply, error) {
    30  	out := new(PblClientDelReply)
    31  	err := c.conn.Invoke(ctx, in, out)
    32  	if err != nil {
    33  		return nil, err
    34  	}
    35  	return out, api.RetvalToVPPApiError(out.Retval)
    36  }
    37  
    38  func (c *serviceClient) PblClientDump(ctx context.Context, in *PblClientDump) (RPCService_PblClientDumpClient, error) {
    39  	stream, err := c.conn.NewStream(ctx)
    40  	if err != nil {
    41  		return nil, err
    42  	}
    43  	x := &serviceClient_PblClientDumpClient{stream}
    44  	if err := x.Stream.SendMsg(in); err != nil {
    45  		return nil, err
    46  	}
    47  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
    48  		return nil, err
    49  	}
    50  	return x, nil
    51  }
    52  
    53  type RPCService_PblClientDumpClient interface {
    54  	Recv() (*PblClientDetails, error)
    55  	api.Stream
    56  }
    57  
    58  type serviceClient_PblClientDumpClient struct {
    59  	api.Stream
    60  }
    61  
    62  func (c *serviceClient_PblClientDumpClient) Recv() (*PblClientDetails, error) {
    63  	msg, err := c.Stream.RecvMsg()
    64  	if err != nil {
    65  		return nil, err
    66  	}
    67  	switch m := msg.(type) {
    68  	case *PblClientDetails:
    69  		return m, nil
    70  	case *memclnt.ControlPingReply:
    71  		err = c.Stream.Close()
    72  		if err != nil {
    73  			return nil, err
    74  		}
    75  		return nil, io.EOF
    76  	default:
    77  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
    78  	}
    79  }
    80  
    81  func (c *serviceClient) PblClientUpdate(ctx context.Context, in *PblClientUpdate) (*PblClientUpdateReply, error) {
    82  	out := new(PblClientUpdateReply)
    83  	err := c.conn.Invoke(ctx, in, out)
    84  	if err != nil {
    85  		return nil, err
    86  	}
    87  	return out, api.RetvalToVPPApiError(out.Retval)
    88  }