| 65 | return perf_buffer__poll(inner.get(), timeout_ms); |
| 66 | } |
| 67 | int32_t bpf_buffer__open(int32_t fd, bpf_buffer_sample_fn sample_cb, |
| 68 | void *ctx) override { |
| 69 | fn = sample_cb; |
| 70 | inner.reset(perf_buffer__new(fd, PERF_BUFFER_PAGES, perfbuf_sample_fn, |
| 71 | nullptr, ctx, nullptr)); |
| 72 | return inner ? 0 : -EINVAL; |
| 73 | } |
| 74 | }; |
| 75 | |
| 76 | struct ring_buffer_wrapper : public bpf_buffer { |