/// <exception cref="System.IO.IOException"/> public override FSDataOutputStream CreateInternal(Path f, EnumSet <CreateFlag> createFlag , FsPermission absolutePermission, int bufferSize, short replication, long blockSize , Progressable progress, Options.ChecksumOpt checksumOpt, bool createParent) { DFSOutputStream dfsos = dfs.PrimitiveCreate(GetUriPath(f), absolutePermission, createFlag , createParent, replication, blockSize, progress, bufferSize, checksumOpt); return(dfs.CreateWrappedOutputStream(dfsos, statistics, dfsos.GetInitialLen())); }
/// <exception cref="System.IO.IOException"/> /// <exception cref="Sharpen.URISyntaxException"/> private void OnCreate(ChannelHandlerContext ctx) { WriteContinueHeader(ctx); string nnId = @params.NamenodeId(); int bufferSize = @params.BufferSize(); short replication = @params.Replication(); long blockSize = @params.BlockSize(); FsPermission permission = @params.Permission(); EnumSet <CreateFlag> flags = @params.Overwrite() ? EnumSet.Of(CreateFlag.Create, CreateFlag .Overwrite) : EnumSet.Of(CreateFlag.Create); DFSClient dfsClient = NewDfsClient(nnId, confForCreate); OutputStream @out = dfsClient.CreateWrappedOutputStream(dfsClient.Create(path, permission , flags, replication, blockSize, null, bufferSize, null), null); DefaultHttpResponse resp = new DefaultHttpResponse(HttpVersion.Http11, HttpResponseStatus .Created); URI uri = new URI(HdfsConstants.HdfsUriScheme, nnId, path, null, null); resp.Headers().Set(HttpHeaders.Names.Location, uri.ToString()); resp.Headers().Set(HttpHeaders.Names.ContentLength, 0); ctx.Pipeline().Replace(this, typeof(HdfsWriter).Name, new HdfsWriter(dfsClient, @out , resp)); }