| 80 | public: |
| 81 | explicit BlockingOp(OpKernelConstruction* ctx) : OpKernel(ctx) {} |
| 82 | void Compute(OpKernelContext* ctx) override { |
| 83 | blocking_op_state->MoveToState(0, 1); |
| 84 | blocking_op_state->AwaitState(2); |
| 85 | blocking_op_state->MoveToState(2, 3); |
| 86 | |
| 87 | Tensor* out = nullptr; |
| 88 | const Tensor& in = ctx->input(0); |
| 89 | OP_REQUIRES_OK(ctx, ctx->allocate_output(0, in.shape(), &out)); |
| 90 | out->flat<float>() = in.flat<float>(); |
| 91 | } |
| 92 | }; |
| 93 | REGISTER_KERNEL_BUILDER(Name("BlockingOp").Device(DEVICE_CPU), BlockingOp); |
| 94 | REGISTER_OP("BlockingOp") |
nothing calls this directly
no test coverage detected