public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,
    boolean overwrite, boolean createParent, short replication, long blockSize,
    EventLoopGroup eventLoopGroup, Class<? extends Channel> channelClass,
    final StreamSlowMonitor monitor, boolean noLocalWrite) throws IOException {
    return new FileSystemLinkResolver<FanOutOneBlockAsyncDFSOutput>() {

      @Override
      public FanOutOneBlockAsyncDFSOutput doCall(Path p)
        throws IOException, UnresolvedLinkException {
        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,
          blockSize, eventLoopGroup, channelClass, monitor, noLocalWrite);
      }

      @Override
      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {
        throw new UnsupportedOperationException();
      }
    }.resolve(dfs, f);
  }
Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it
inside an {@link EventLoop}.
hbase-asyncfs/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java