go.ligato.io/vpp-agent/v3@v3.5.0/plugins/vpp/binapi/vpp2106/abf/abf_rpc.ba.go (about)

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  
     3  package abf
     4  
     5  import (
     6  	"context"
     7  	"fmt"
     8  	"io"
     9  
    10  	api "go.fd.io/govpp/api"
    11  	vpe "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2106/vpe"
    12  )
    13  
    14  // RPCService defines RPC service abf.
    15  type RPCService interface {
    16  	AbfItfAttachAddDel(ctx context.Context, in *AbfItfAttachAddDel) (*AbfItfAttachAddDelReply, error)
    17  	AbfItfAttachDump(ctx context.Context, in *AbfItfAttachDump) (RPCService_AbfItfAttachDumpClient, error)
    18  	AbfPluginGetVersion(ctx context.Context, in *AbfPluginGetVersion) (*AbfPluginGetVersionReply, error)
    19  	AbfPolicyAddDel(ctx context.Context, in *AbfPolicyAddDel) (*AbfPolicyAddDelReply, error)
    20  	AbfPolicyDump(ctx context.Context, in *AbfPolicyDump) (RPCService_AbfPolicyDumpClient, error)
    21  }
    22  
    23  type serviceClient struct {
    24  	conn api.Connection
    25  }
    26  
    27  func NewServiceClient(conn api.Connection) RPCService {
    28  	return &serviceClient{conn}
    29  }
    30  
    31  func (c *serviceClient) AbfItfAttachAddDel(ctx context.Context, in *AbfItfAttachAddDel) (*AbfItfAttachAddDelReply, error) {
    32  	out := new(AbfItfAttachAddDelReply)
    33  	err := c.conn.Invoke(ctx, in, out)
    34  	if err != nil {
    35  		return nil, err
    36  	}
    37  	return out, api.RetvalToVPPApiError(out.Retval)
    38  }
    39  
    40  func (c *serviceClient) AbfItfAttachDump(ctx context.Context, in *AbfItfAttachDump) (RPCService_AbfItfAttachDumpClient, error) {
    41  	stream, err := c.conn.NewStream(ctx)
    42  	if err != nil {
    43  		return nil, err
    44  	}
    45  	x := &serviceClient_AbfItfAttachDumpClient{stream}
    46  	if err := x.Stream.SendMsg(in); err != nil {
    47  		return nil, err
    48  	}
    49  	if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil {
    50  		return nil, err
    51  	}
    52  	return x, nil
    53  }
    54  
    55  type RPCService_AbfItfAttachDumpClient interface {
    56  	Recv() (*AbfItfAttachDetails, error)
    57  	api.Stream
    58  }
    59  
    60  type serviceClient_AbfItfAttachDumpClient struct {
    61  	api.Stream
    62  }
    63  
    64  func (c *serviceClient_AbfItfAttachDumpClient) Recv() (*AbfItfAttachDetails, error) {
    65  	msg, err := c.Stream.RecvMsg()
    66  	if err != nil {
    67  		return nil, err
    68  	}
    69  	switch m := msg.(type) {
    70  	case *AbfItfAttachDetails:
    71  		return m, nil
    72  	case *vpe.ControlPingReply:
    73  		err = c.Stream.Close()
    74  		if err != nil {
    75  			return nil, err
    76  		}
    77  		return nil, io.EOF
    78  	default:
    79  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
    80  	}
    81  }
    82  
    83  func (c *serviceClient) AbfPluginGetVersion(ctx context.Context, in *AbfPluginGetVersion) (*AbfPluginGetVersionReply, error) {
    84  	out := new(AbfPluginGetVersionReply)
    85  	err := c.conn.Invoke(ctx, in, out)
    86  	if err != nil {
    87  		return nil, err
    88  	}
    89  	return out, nil
    90  }
    91  
    92  func (c *serviceClient) AbfPolicyAddDel(ctx context.Context, in *AbfPolicyAddDel) (*AbfPolicyAddDelReply, error) {
    93  	out := new(AbfPolicyAddDelReply)
    94  	err := c.conn.Invoke(ctx, in, out)
    95  	if err != nil {
    96  		return nil, err
    97  	}
    98  	return out, api.RetvalToVPPApiError(out.Retval)
    99  }
   100  
   101  func (c *serviceClient) AbfPolicyDump(ctx context.Context, in *AbfPolicyDump) (RPCService_AbfPolicyDumpClient, error) {
   102  	stream, err := c.conn.NewStream(ctx)
   103  	if err != nil {
   104  		return nil, err
   105  	}
   106  	x := &serviceClient_AbfPolicyDumpClient{stream}
   107  	if err := x.Stream.SendMsg(in); err != nil {
   108  		return nil, err
   109  	}
   110  	if err = x.Stream.SendMsg(&vpe.ControlPing{}); err != nil {
   111  		return nil, err
   112  	}
   113  	return x, nil
   114  }
   115  
   116  type RPCService_AbfPolicyDumpClient interface {
   117  	Recv() (*AbfPolicyDetails, error)
   118  	api.Stream
   119  }
   120  
   121  type serviceClient_AbfPolicyDumpClient struct {
   122  	api.Stream
   123  }
   124  
   125  func (c *serviceClient_AbfPolicyDumpClient) Recv() (*AbfPolicyDetails, error) {
   126  	msg, err := c.Stream.RecvMsg()
   127  	if err != nil {
   128  		return nil, err
   129  	}
   130  	switch m := msg.(type) {
   131  	case *AbfPolicyDetails:
   132  		return m, nil
   133  	case *vpe.ControlPingReply:
   134  		err = c.Stream.Close()
   135  		if err != nil {
   136  			return nil, err
   137  		}
   138  		return nil, io.EOF
   139  	default:
   140  		return nil, fmt.Errorf("unexpected message: %T %v", m, m)
   141  	}
   142  }