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

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  
     3  package cnat
     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 cnat.
    15  type RPCService interface {
    16  	CnatGetSnatAddresses(ctx context.Context, in *CnatGetSnatAddresses) (*CnatGetSnatAddressesReply, error)
    17  	CnatSessionDump(ctx context.Context, in *CnatSessionDump) (RPCService_CnatSessionDumpClient, error)
    18  	CnatSessionPurge(ctx context.Context, in *CnatSessionPurge) (*CnatSessionPurgeReply, error)
    19  	CnatSetSnatAddresses(ctx context.Context, in *CnatSetSnatAddresses) (*CnatSetSnatAddressesReply, error)
    20  	CnatSetSnatPolicy(ctx context.Context, in *CnatSetSnatPolicy) (*CnatSetSnatPolicyReply, error)
    21  	CnatSnatPolicyAddDelExcludePfx(ctx context.Context, in *CnatSnatPolicyAddDelExcludePfx) (*CnatSnatPolicyAddDelExcludePfxReply, error)
    22  	CnatSnatPolicyAddDelIf(ctx context.Context, in *CnatSnatPolicyAddDelIf) (*CnatSnatPolicyAddDelIfReply, error)
    23  	CnatTranslationDel(ctx context.Context, in *CnatTranslationDel) (*CnatTranslationDelReply, error)
    24  	CnatTranslationDump(ctx context.Context, in *CnatTranslationDump) (RPCService_CnatTranslationDumpClient, error)
    25  	CnatTranslationUpdate(ctx context.Context, in *CnatTranslationUpdate) (*CnatTranslationUpdateReply, error)
    26  }
    27  
    28  type serviceClient struct {
    29  	conn api.Connection
    30  }
    31  
    32  func NewServiceClient(conn api.Connection) RPCService {
    33  	return &serviceClient{conn}
    34  }
    35  
    36  func (c *serviceClient) CnatGetSnatAddresses(ctx context.Context, in *CnatGetSnatAddresses) (*CnatGetSnatAddressesReply, error) {
    37  	out := new(CnatGetSnatAddressesReply)
    38  	err := c.conn.Invoke(ctx, in, out)
    39  	if err != nil {
    40  		return nil, err
    41  	}
    42  	return out, api.RetvalToVPPApiError(out.Retval)
    43  }
    44  
    45  func (c *serviceClient) CnatSessionDump(ctx context.Context, in *CnatSessionDump) (RPCService_CnatSessionDumpClient, error) {
    46  	stream, err := c.conn.NewStream(ctx)
    47  	if err != nil {
    48  		return nil, err
    49  	}
    50  	x := &serviceClient_CnatSessionDumpClient{stream}
    51  	if err := x.Stream.SendMsg(in); err != nil {
    52  		return nil, err
    53  	}
    54  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
    55  		return nil, err
    56  	}
    57  	return x, nil
    58  }
    59  
    60  type RPCService_CnatSessionDumpClient interface {
    61  	Recv() (*CnatSessionDetails, error)
    62  	api.Stream
    63  }
    64  
    65  type serviceClient_CnatSessionDumpClient struct {
    66  	api.Stream
    67  }
    68  
    69  func (c *serviceClient_CnatSessionDumpClient) Recv() (*CnatSessionDetails, error) {
    70  	msg, err := c.Stream.RecvMsg()
    71  	if err != nil {
    72  		return nil, err
    73  	}
    74  	switch m := msg.(type) {
    75  	case *CnatSessionDetails:
    76  		return m, nil
    77  	case *memclnt.ControlPingReply:
    78  		err = c.Stream.Close()
    79  		if err != nil {
    80  			return nil, err
    81  		}
    82  		return nil, io.EOF
    83  	default:
    84  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
    85  	}
    86  }
    87  
    88  func (c *serviceClient) CnatSessionPurge(ctx context.Context, in *CnatSessionPurge) (*CnatSessionPurgeReply, error) {
    89  	out := new(CnatSessionPurgeReply)
    90  	err := c.conn.Invoke(ctx, in, out)
    91  	if err != nil {
    92  		return nil, err
    93  	}
    94  	return out, api.RetvalToVPPApiError(out.Retval)
    95  }
    96  
    97  func (c *serviceClient) CnatSetSnatAddresses(ctx context.Context, in *CnatSetSnatAddresses) (*CnatSetSnatAddressesReply, error) {
    98  	out := new(CnatSetSnatAddressesReply)
    99  	err := c.conn.Invoke(ctx, in, out)
   100  	if err != nil {
   101  		return nil, err
   102  	}
   103  	return out, api.RetvalToVPPApiError(out.Retval)
   104  }
   105  
   106  func (c *serviceClient) CnatSetSnatPolicy(ctx context.Context, in *CnatSetSnatPolicy) (*CnatSetSnatPolicyReply, error) {
   107  	out := new(CnatSetSnatPolicyReply)
   108  	err := c.conn.Invoke(ctx, in, out)
   109  	if err != nil {
   110  		return nil, err
   111  	}
   112  	return out, api.RetvalToVPPApiError(out.Retval)
   113  }
   114  
   115  func (c *serviceClient) CnatSnatPolicyAddDelExcludePfx(ctx context.Context, in *CnatSnatPolicyAddDelExcludePfx) (*CnatSnatPolicyAddDelExcludePfxReply, error) {
   116  	out := new(CnatSnatPolicyAddDelExcludePfxReply)
   117  	err := c.conn.Invoke(ctx, in, out)
   118  	if err != nil {
   119  		return nil, err
   120  	}
   121  	return out, api.RetvalToVPPApiError(out.Retval)
   122  }
   123  
   124  func (c *serviceClient) CnatSnatPolicyAddDelIf(ctx context.Context, in *CnatSnatPolicyAddDelIf) (*CnatSnatPolicyAddDelIfReply, error) {
   125  	out := new(CnatSnatPolicyAddDelIfReply)
   126  	err := c.conn.Invoke(ctx, in, out)
   127  	if err != nil {
   128  		return nil, err
   129  	}
   130  	return out, api.RetvalToVPPApiError(out.Retval)
   131  }
   132  
   133  func (c *serviceClient) CnatTranslationDel(ctx context.Context, in *CnatTranslationDel) (*CnatTranslationDelReply, error) {
   134  	out := new(CnatTranslationDelReply)
   135  	err := c.conn.Invoke(ctx, in, out)
   136  	if err != nil {
   137  		return nil, err
   138  	}
   139  	return out, api.RetvalToVPPApiError(out.Retval)
   140  }
   141  
   142  func (c *serviceClient) CnatTranslationDump(ctx context.Context, in *CnatTranslationDump) (RPCService_CnatTranslationDumpClient, error) {
   143  	stream, err := c.conn.NewStream(ctx)
   144  	if err != nil {
   145  		return nil, err
   146  	}
   147  	x := &serviceClient_CnatTranslationDumpClient{stream}
   148  	if err := x.Stream.SendMsg(in); err != nil {
   149  		return nil, err
   150  	}
   151  	if err = x.Stream.SendMsg(&memclnt.ControlPing{}); err != nil {
   152  		return nil, err
   153  	}
   154  	return x, nil
   155  }
   156  
   157  type RPCService_CnatTranslationDumpClient interface {
   158  	Recv() (*CnatTranslationDetails, error)
   159  	api.Stream
   160  }
   161  
   162  type serviceClient_CnatTranslationDumpClient struct {
   163  	api.Stream
   164  }
   165  
   166  func (c *serviceClient_CnatTranslationDumpClient) Recv() (*CnatTranslationDetails, error) {
   167  	msg, err := c.Stream.RecvMsg()
   168  	if err != nil {
   169  		return nil, err
   170  	}
   171  	switch m := msg.(type) {
   172  	case *CnatTranslationDetails:
   173  		return m, nil
   174  	case *memclnt.ControlPingReply:
   175  		err = c.Stream.Close()
   176  		if err != nil {
   177  			return nil, err
   178  		}
   179  		return nil, io.EOF
   180  	default:
   181  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   182  	}
   183  }
   184  
   185  func (c *serviceClient) CnatTranslationUpdate(ctx context.Context, in *CnatTranslationUpdate) (*CnatTranslationUpdateReply, error) {
   186  	out := new(CnatTranslationUpdateReply)
   187  	err := c.conn.Invoke(ctx, in, out)
   188  	if err != nil {
   189  		return nil, err
   190  	}
   191  	return out, api.RetvalToVPPApiError(out.Retval)
   192  }