Package gorsat
Class BatchedReadSource
java.lang.Object
org.gorpipe.gor.model.GenomicIteratorBase
gorsat.BatchedReadSource
- All Implemented Interfaces:
AutoCloseable,Iterator<org.gorpipe.gor.model.Row>,org.gorpipe.gor.model.GenomicIterator,org.gorpipe.gor.model.RowSourceStats
public class BatchedReadSource
extends org.gorpipe.gor.model.GenomicIteratorBase
A wrapper rowSource reading the child rowSource in a thread into a buffer and offering to the main thread in batches
Created by sigmar on 21/11/2016.
-
Field Summary
Fields inherited from class org.gorpipe.gor.model.GenomicIteratorBase
statsSenderAnnotation, statsSenderName -
Constructor Summary
ConstructorsConstructorDescriptionBatchedReadSource(Iterator<? extends org.gorpipe.gor.model.Row> sourceIterator, BatchedReadSourceConfig brsConfig, String header, org.gorpipe.gor.monitor.GorMonitor gorMonitor) BatchedReadSource(org.gorpipe.gor.model.GenomicIterator sourceIterator, BatchedReadSourceConfig brsConfig) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()doubledoubledoubledoubleintorg.gorpipe.gor.model.RowgetCurrentBatchRow(int i) intgetEx()booleanhasNext()booleanbooleanorg.gorpipe.gor.model.Rownext()Make sure hasNext is called before this methodbooleanvoidvoidupdateTimeMeasurement(long deltaTimeNs, RowBuffer current) Methods inherited from class org.gorpipe.gor.model.GenomicIteratorBase
clone, decStat, getBufferSize, getContext, getHeader, getSourceName, getTypes, incStat, init, initStats, isSourceAlreadyInserted, setBufferSize, setContext, setHeader, setSourceAlreadyInserted, setSourceName, setTypesMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.gorpipe.gor.model.GenomicIterator
filter, getMonitor, moveToPosition, moveToPosition, pushdownCalc, pushdownCmd, pushdownFilter, pushdownGor, pushdownSelect, pushdownTop, pushdownWrite, seek, select, setRequestedRangeMethods inherited from interface java.util.Iterator
forEachRemaining, remove
-
Constructor Details
-
BatchedReadSource
public BatchedReadSource(org.gorpipe.gor.model.GenomicIterator sourceIterator, BatchedReadSourceConfig brsConfig) -
BatchedReadSource
public BatchedReadSource(Iterator<? extends org.gorpipe.gor.model.Row> sourceIterator, BatchedReadSourceConfig brsConfig, String header, org.gorpipe.gor.monitor.GorMonitor gorMonitor)
-
-
Method Details
-
setEx
-
getEx
-
updateTimeMeasurement
-
getAvgRowsPerMilliSecond
public double getAvgRowsPerMilliSecond() -
getAvgBasesPerMilliSecond
public double getAvgBasesPerMilliSecond() -
getAvgSeekTimeMilliSecond
public double getAvgSeekTimeMilliSecond() -
getAvgBatchSize
public double getAvgBatchSize() -
getCurrentBatchSize
public int getCurrentBatchSize() -
getCurrentBatchLoc
public int getCurrentBatchLoc() -
getCurrentBatchRow
public org.gorpipe.gor.model.Row getCurrentBatchRow(int i) -
hasNext
public boolean hasNext()- Returns:
- true if rowSource has more rows
-
next
public org.gorpipe.gor.model.Row next()Make sure hasNext is called before this method- Returns:
- the next row in the iterator
-
seek
-
isCancelled
public boolean isCancelled() -
close
public void close() -
isBuffered
public boolean isBuffered()
-