@Override
    public void failed(Throwable cause, Entry<ByteBuffer, ByteBuf> attachment) {
        assert subscription != null;
        subscription.cancel();
        attachment.getValue().release();
        maybeCloseFileChannel(cause, false);
    }
Asynchronously writes a {@code StreamMessage<HttpMessage>} to a {@link File}.
core/src/main/java/com/linecorp/armeria/common/stream/AsyncFileWriter.java