Refactoring and fixes
[govpp.git] / binapi / policer / policer_rpc.ba.go
index 9a7d8bf..f5e0f89 100644 (file)
@@ -5,15 +5,18 @@ package policer
 import (
        "context"
        "fmt"
+       "io"
+
        api "git.fd.io/govpp.git/api"
        vpe "git.fd.io/govpp.git/binapi/vpe"
-       "io"
 )
 
-// RPCService defines RPC service  policer.
+// RPCService defines RPC service policer.
 type RPCService interface {
        PolicerAddDel(ctx context.Context, in *PolicerAddDel) (*PolicerAddDelReply, error)
+       PolicerBind(ctx context.Context, in *PolicerBind) (*PolicerBindReply, error)
        PolicerDump(ctx context.Context, in *PolicerDump) (RPCService_PolicerDumpClient, error)
+       PolicerInput(ctx context.Context, in *PolicerInput) (*PolicerInputReply, error)
 }
 
 type serviceClient struct {
@@ -30,7 +33,16 @@ func (c *serviceClient) PolicerAddDel(ctx context.Context, in *PolicerAddDel) (*
        if err != nil {
                return nil, err
        }
-       return out, nil
+       return out, api.RetvalToVPPApiError(out.Retval)
+}
+
+func (c *serviceClient) PolicerBind(ctx context.Context, in *PolicerBind) (*PolicerBindReply, error) {
+       out := new(PolicerBindReply)
+       err := c.conn.Invoke(ctx, in, out)
+       if err != nil {
+               return nil, err
+       }
+       return out, api.RetvalToVPPApiError(out.Retval)
 }
 
 func (c *serviceClient) PolicerDump(ctx context.Context, in *PolicerDump) (RPCService_PolicerDumpClient, error) {
@@ -66,8 +78,21 @@ func (c *serviceClient_PolicerDumpClient) Recv() (*PolicerDetails, error) {
        case *PolicerDetails:
                return m, nil
        case *vpe.ControlPingReply:
+               err = c.Stream.Close()
+               if err != nil {
+                       return nil, err
+               }
                return nil, io.EOF
        default:
                return nil, fmt.Errorf("unexpected message: %T %v", m, m)
        }
 }
+
+func (c *serviceClient) PolicerInput(ctx context.Context, in *PolicerInput) (*PolicerInputReply, error) {
+       out := new(PolicerInputReply)
+       err := c.conn.Invoke(ctx, in, out)
+       if err != nil {
+               return nil, err
+       }
+       return out, api.RetvalToVPPApiError(out.Retval)
+}