@Override
    public void onSubscribe(Subscription subscription) {
        requireNonNull(subscription, "subscription");
        this.subscription = subscription;

        try {
            fileChannel = AsynchronousFileChannel.open(path, options, blockingTaskExecutor);
        } catch (IOException e) {
            maybeCloseFileChannel(e, false);
            return;
        }

        subscription.request(1);
    }
Asynchronously writes a {@code StreamMessage<HttpMessage>} to a {@link File}.
core/src/main/java/com/linecorp/armeria/common/stream/AsyncFileWriter.java