docs: @Handler
      public void onStart(Start event) {
          synchronized (this) {
              if (runner != null) {
                  return;
              }
              buffers = new ManagedBufferPool<>(ManagedBuffer::new,
                  () -> {
                      return ByteBuffer.allocateDirect(bufferSize);
                  }, 2);
              runner = new Thread(this, Components.simpleObjectName(this));
              // Because this cannot reliably be stopped, it doesn't prevent
              // shutdown.
              runner.setDaemon(true);
              runner.start();
          }
      }