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

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