Package gorsat
Class BatchedReadSource
java.lang.Object
org.gorpipe.gor.model.GenomicIterator
org.gorpipe.model.gor.iterators.RowSource
gorsat.BatchedReadSource
- All Implemented Interfaces:
java.lang.AutoCloseable,java.util.Iterator<org.gorpipe.gor.model.Row>
public class BatchedReadSource
extends org.gorpipe.model.gor.iterators.RowSource
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.
-
Nested Class Summary
-
Constructor Summary
Constructors Constructor Description BatchedReadSource(java.util.Iterator<? extends org.gorpipe.gor.model.Row> sourceIterator, BatchedReadSourceConfig brsConfig, java.lang.String header, org.gorpipe.gor.monitor.GorMonitor gorMonitor)BatchedReadSource(org.gorpipe.model.gor.iterators.RowSource sourceIterator, BatchedReadSourceConfig brsConfig) -
Method Summary
Modifier and Type Method Description voidclose()doublegetAvgBasesPerMilliSecond()doublegetAvgBatchSize()doublegetAvgRowsPerMilliSecond()doublegetAvgSeekTimeMilliSecond()intgetCurrentBatchLoc()org.gorpipe.gor.model.RowgetCurrentBatchRow(int i)intgetCurrentBatchSize()booleanhasNext()booleanisBuffered()booleanisCancelled()org.gorpipe.gor.model.Rownext()Make sure hasNext is called before this methodvoidsetPosition(java.lang.String seekChr, int seekPos)voidupdateTimeMeasurement(long deltaTimeNs, RowBuffer current)Methods inherited from class org.gorpipe.model.gor.iterators.RowSource
bufferSize, bufferSize_$eq, clone, getBufferSize, getEx, getGorHeader, getParent, moveToPosition, moveToPosition$default$3, next, parent, parent_$eq, seek, setBufferSize, setEx, setParent, terminateReadingMethods inherited from class org.gorpipe.gor.model.GenomicIterator
decStat, filter, getColnum, getContext, getHeader, getLookup, getMonitor, getSourceName, incStat, init, initStats, isSourceAlreadyInserted, pushdownCalc, pushdownFilter, pushdownGor, pushdownSelect, pushdownTop, pushdownWrite, seek, select, selectHeader, setColnum, setContext, setHeader, setSourceAlreadyInserted, setSourceName
-
Constructor Details
-
BatchedReadSource
public BatchedReadSource(org.gorpipe.model.gor.iterators.RowSource sourceIterator, BatchedReadSourceConfig brsConfig) -
BatchedReadSource
public BatchedReadSource(java.util.Iterator<? extends org.gorpipe.gor.model.Row> sourceIterator, BatchedReadSourceConfig brsConfig, java.lang.String header, org.gorpipe.gor.monitor.GorMonitor gorMonitor)
-
-
Method Details
-
updateTimeMeasurement
-
getAvgRowsPerMilliSecond
public double getAvgRowsPerMilliSecond()- Overrides:
getAvgRowsPerMilliSecondin classorg.gorpipe.model.gor.iterators.RowSource
-
getAvgBasesPerMilliSecond
public double getAvgBasesPerMilliSecond()- Overrides:
getAvgBasesPerMilliSecondin classorg.gorpipe.model.gor.iterators.RowSource
-
getAvgSeekTimeMilliSecond
public double getAvgSeekTimeMilliSecond()- Overrides:
getAvgSeekTimeMilliSecondin classorg.gorpipe.model.gor.iterators.RowSource
-
getAvgBatchSize
public double getAvgBatchSize()- Overrides:
getAvgBatchSizein classorg.gorpipe.model.gor.iterators.RowSource
-
getCurrentBatchSize
public int getCurrentBatchSize()- Overrides:
getCurrentBatchSizein classorg.gorpipe.model.gor.iterators.RowSource
-
getCurrentBatchLoc
public int getCurrentBatchLoc()- Overrides:
getCurrentBatchLocin classorg.gorpipe.model.gor.iterators.RowSource
-
getCurrentBatchRow
public org.gorpipe.gor.model.Row getCurrentBatchRow(int i)- Overrides:
getCurrentBatchRowin classorg.gorpipe.model.gor.iterators.RowSource
-
hasNext
public boolean hasNext()- Specified by:
hasNextin interfacejava.util.Iterator<org.gorpipe.gor.model.Row>- Overrides:
hasNextin classorg.gorpipe.gor.model.GenomicIterator- Returns:
- true if rowSource has more rows
-
next
public org.gorpipe.gor.model.Row next()Make sure hasNext is called before this method- Specified by:
nextin interfacejava.util.Iterator<org.gorpipe.gor.model.Row>- Overrides:
nextin classorg.gorpipe.gor.model.GenomicIterator- Returns:
- the next row in the iterator
-
setPosition
public void setPosition(java.lang.String seekChr, int seekPos)- Overrides:
setPositionin classorg.gorpipe.model.gor.iterators.RowSource
-
isCancelled
public boolean isCancelled() -
close
public void close()- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein classorg.gorpipe.model.gor.iterators.RowSource
-
isBuffered
public boolean isBuffered()- Overrides:
isBufferedin classorg.gorpipe.model.gor.iterators.RowSource
-