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

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  
     3  package pnat
     4  
     5  import (
     6  	"context"
     7  	"fmt"
     8  	"io"
     9  
    10  	api "go.fd.io/govpp/api"
    11  )
    12  
    13  // RPCService defines RPC service pnat.
    14  type RPCService interface {
    15  	PnatBindingAdd(ctx context.Context, in *PnatBindingAdd) (*PnatBindingAddReply, error)
    16  	PnatBindingAddV2(ctx context.Context, in *PnatBindingAddV2) (*PnatBindingAddV2Reply, error)
    17  	PnatBindingAttach(ctx context.Context, in *PnatBindingAttach) (*PnatBindingAttachReply, error)
    18  	PnatBindingDel(ctx context.Context, in *PnatBindingDel) (*PnatBindingDelReply, error)
    19  	PnatBindingDetach(ctx context.Context, in *PnatBindingDetach) (*PnatBindingDetachReply, error)
    20  	PnatBindingsGet(ctx context.Context, in *PnatBindingsGet) (RPCService_PnatBindingsGetClient, error)
    21  	PnatInterfacesGet(ctx context.Context, in *PnatInterfacesGet) (RPCService_PnatInterfacesGetClient, 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) PnatBindingAdd(ctx context.Context, in *PnatBindingAdd) (*PnatBindingAddReply, error) {
    33  	out := new(PnatBindingAddReply)
    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) PnatBindingAddV2(ctx context.Context, in *PnatBindingAddV2) (*PnatBindingAddV2Reply, error) {
    42  	out := new(PnatBindingAddV2Reply)
    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) PnatBindingAttach(ctx context.Context, in *PnatBindingAttach) (*PnatBindingAttachReply, error) {
    51  	out := new(PnatBindingAttachReply)
    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) PnatBindingDel(ctx context.Context, in *PnatBindingDel) (*PnatBindingDelReply, error) {
    60  	out := new(PnatBindingDelReply)
    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) PnatBindingDetach(ctx context.Context, in *PnatBindingDetach) (*PnatBindingDetachReply, error) {
    69  	out := new(PnatBindingDetachReply)
    70  	err := c.conn.Invoke(ctx, in, out)
    71  	if err != nil {
    72  		return nil, err
    73  	}
    74  	return out, api.RetvalToVPPApiError(out.Retval)
    75  }
    76  
    77  func (c *serviceClient) PnatBindingsGet(ctx context.Context, in *PnatBindingsGet) (RPCService_PnatBindingsGetClient, error) {
    78  	stream, err := c.conn.NewStream(ctx)
    79  	if err != nil {
    80  		return nil, err
    81  	}
    82  	x := &serviceClient_PnatBindingsGetClient{stream}
    83  	if err := x.Stream.SendMsg(in); err != nil {
    84  		return nil, err
    85  	}
    86  	return x, nil
    87  }
    88  
    89  type RPCService_PnatBindingsGetClient interface {
    90  	Recv() (*PnatBindingsDetails, *PnatBindingsGetReply, error)
    91  	api.Stream
    92  }
    93  
    94  type serviceClient_PnatBindingsGetClient struct {
    95  	api.Stream
    96  }
    97  
    98  func (c *serviceClient_PnatBindingsGetClient) Recv() (*PnatBindingsDetails, *PnatBindingsGetReply, error) {
    99  	msg, err := c.Stream.RecvMsg()
   100  	if err != nil {
   101  		return nil, nil, err
   102  	}
   103  	switch m := msg.(type) {
   104  	case *PnatBindingsDetails:
   105  		return m, nil, nil
   106  	case *PnatBindingsGetReply:
   107  		if err := api.RetvalToVPPApiError(m.Retval); err != nil {
   108  			c.Stream.Close()
   109  			return nil, m, err
   110  		}
   111  		err = c.Stream.Close()
   112  		if err != nil {
   113  			return nil, m, err
   114  		}
   115  		return nil, m, io.EOF
   116  	default:
   117  		return nil, nil, fmt.Errorf("unexpected message: %T %v", m, m)
   118  	}
   119  }
   120  
   121  func (c *serviceClient) PnatInterfacesGet(ctx context.Context, in *PnatInterfacesGet) (RPCService_PnatInterfacesGetClient, error) {
   122  	stream, err := c.conn.NewStream(ctx)
   123  	if err != nil {
   124  		return nil, err
   125  	}
   126  	x := &serviceClient_PnatInterfacesGetClient{stream}
   127  	if err := x.Stream.SendMsg(in); err != nil {
   128  		return nil, err
   129  	}
   130  	return x, nil
   131  }
   132  
   133  type RPCService_PnatInterfacesGetClient interface {
   134  	Recv() (*PnatInterfacesDetails, *PnatInterfacesGetReply, error)
   135  	api.Stream
   136  }
   137  
   138  type serviceClient_PnatInterfacesGetClient struct {
   139  	api.Stream
   140  }
   141  
   142  func (c *serviceClient_PnatInterfacesGetClient) Recv() (*PnatInterfacesDetails, *PnatInterfacesGetReply, error) {
   143  	msg, err := c.Stream.RecvMsg()
   144  	if err != nil {
   145  		return nil, nil, err
   146  	}
   147  	switch m := msg.(type) {
   148  	case *PnatInterfacesDetails:
   149  		return m, nil, nil
   150  	case *PnatInterfacesGetReply:
   151  		if err := api.RetvalToVPPApiError(m.Retval); err != nil {
   152  			c.Stream.Close()
   153  			return nil, m, err
   154  		}
   155  		err = c.Stream.Close()
   156  		if err != nil {
   157  			return nil, m, err
   158  		}
   159  		return nil, m, io.EOF
   160  	default:
   161  		return nil, nil, fmt.Errorf("unexpected message: %T %v", m, m)
   162  	}
   163  }