IgfsInputStreamImpl(IgfsContext igfsCtx,IgfsPath path,@Nullable IgfsEntryInfo fileInfo,int prefetchBlocks,int seqReadsBeforePrefetch,@Nullable IgfsSecondaryFileSystemPositionedReadable secReader,long len,int blockSize,long blocksCnt,boolean proxy){
  assert igfsCtx != null;
  assert path != null;
  this.igfsCtx=igfsCtx;
  this.path=path;
  this.fileInfo=fileInfo;
  this.prefetchBlocks=prefetchBlocks;
  this.seqReadsBeforePrefetch=seqReadsBeforePrefetch;
  this.secReader=secReader;
  this.len=len;
  this.blockSize=blockSize;
  this.blocksCnt=blocksCnt;
  this.proxy=proxy;
  log=igfsCtx.kernalContext().log(IgfsInputStream.class);
  maxLocCacheSize=(prefetchBlocks > 0 ? prefetchBlocks : 1) * 3 / 2;
  locCache=new LinkedHashMap<>(maxLocCacheSize,1.0f);
  pendingFuts=new GridConcurrentHashSet<>(prefetchBlocks > 0 ? prefetchBlocks : 1);
  igfsCtx.metrics().incrementFilesOpenedForRead();
}

IgfsInputStreamImpl ( IgfsContext igfsCtx , IgfsPath path , @ Nullable IgfsEntryInfo fileInfo , int prefetchBlocks , int seqReadsBeforePrefetch , @ Nullable IgfsSecondaryFileSystemPositionedReadable secReader , long len , int blockSize , long blocksCnt , boolean proxy ) { assert igfsCtx != null ; assert path != null ; this . igfsCtx = igfsCtx ; this . path = path ; this . fileInfo = fileInfo ; this . prefetchBlocks = prefetchBlocks ; this . seqReadsBeforePrefetch = seqReadsBeforePrefetch ; this . secReader = secReader ; this . len = len ; this . blockSize = blockSize ; this . blocksCnt = blocksCnt ; this . proxy = proxy ; log = igfsCtx . kernalContext ( ) . log ( IgfsInputStream . class ) ; maxLocCacheSize = ( prefetchBlocks > 0 ? prefetchBlocks : 1 ) * 3 / 2 ; locCache = new LinkedHashMap < > ( maxLocCacheSize , 1.0f ) ; pendingFuts = new GridConcurrentHashSet < > ( prefetchBlocks > 0 ? prefetchBlocks : 1 ) ; igfsCtx . metrics ( ) . incrementFilesOpenedForRead ( ) ; }
constructs file output stream .
