本文整理汇总了Java中org.apache.cassandra.io.util.FileDataInput.seek方法的典型用法代码示例。如果您正苦于以下问题:Java FileDataInput.seek方法的具体用法?Java FileDataInput.seek怎么用?Java FileDataInput.seek使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.cassandra.io.util.FileDataInput
的用法示例。
在下文中一共展示了FileDataInput.seek方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: create
import org.apache.cassandra.io.util.FileDataInput; //导入方法依赖的package包/类
public static SSTableIdentityIterator create(SSTableReader sstable, FileDataInput dfile, RowIndexEntry<?> indexEntry, DecoratedKey key, boolean tombstoneOnly)
{
try
{
dfile.seek(indexEntry.position);
ByteBufferUtil.skipShortLength(dfile); // Skip partition key
DeletionTime partitionLevelDeletion = DeletionTime.serializer.deserialize(dfile);
SerializationHelper helper = new SerializationHelper(sstable.metadata, sstable.descriptor.version.correspondingMessagingVersion(), SerializationHelper.Flag.LOCAL);
SSTableSimpleIterator iterator = tombstoneOnly
? SSTableSimpleIterator.createTombstoneOnly(sstable.metadata, dfile, sstable.header, helper, partitionLevelDeletion)
: SSTableSimpleIterator.create(sstable.metadata, dfile, sstable.header, helper, partitionLevelDeletion);
return new SSTableIdentityIterator(sstable, key, partitionLevelDeletion, dfile.getPath(), iterator);
}
catch (IOException e)
{
sstable.markSuspect();
throw new CorruptSSTableException(e, dfile.getPath());
}
}
示例2: deserialize
import org.apache.cassandra.io.util.FileDataInput; //导入方法依赖的package包/类
public Map<MetadataType, MetadataComponent> deserialize(Descriptor descriptor, FileDataInput in, EnumSet<MetadataType> types) throws IOException
{
Map<MetadataType, MetadataComponent> components = new EnumMap<>(MetadataType.class);
// read number of components
int numComponents = in.readInt();
// read toc
Map<MetadataType, Integer> toc = new EnumMap<>(MetadataType.class);
MetadataType[] values = MetadataType.values();
for (int i = 0; i < numComponents; i++)
{
toc.put(values[in.readInt()], in.readInt());
}
for (MetadataType type : types)
{
Integer offset = toc.get(type);
if (offset != null)
{
in.seek(offset);
MetadataComponent component = type.serializer.deserialize(descriptor.version, in);
components.put(type, component);
}
}
return components;
}
示例3: deserialize
import org.apache.cassandra.io.util.FileDataInput; //导入方法依赖的package包/类
public Map<MetadataType, MetadataComponent> deserialize(Descriptor descriptor, FileDataInput in, EnumSet<MetadataType> types) throws IOException
{
Map<MetadataType, MetadataComponent> components = Maps.newHashMap();
// read number of components
int numComponents = in.readInt();
// read toc
Map<MetadataType, Integer> toc = new HashMap<>(numComponents);
for (int i = 0; i < numComponents; i++)
{
toc.put(MetadataType.values()[in.readInt()], in.readInt());
}
for (MetadataType type : types)
{
MetadataComponent component = null;
if (toc.containsKey(type))
{
in.seek(toc.get(type));
component = type.serializer.deserialize(descriptor.version, in);
}
components.put(type, component);
}
return components;
}
示例4: setToRowStart
import org.apache.cassandra.io.util.FileDataInput; //导入方法依赖的package包/类
/**
* Sets the seek position to the start of the row for column scanning.
*/
private void setToRowStart(RowIndexEntry rowEntry, FileDataInput in) throws IOException
{
if (in == null)
{
this.file = sstable.getFileDataInput(rowEntry.position);
}
else
{
this.file = in;
in.seek(rowEntry.position);
}
sstable.partitioner.decorateKey(ByteBufferUtil.readWithShortLength(file));
if (sstable.descriptor.version.hasRowSizeAndColumnCount)
file.readLong();
}
示例5: deserialize
import org.apache.cassandra.io.util.FileDataInput; //导入方法依赖的package包/类
public Map<MetadataType, MetadataComponent> deserialize(Descriptor descriptor, FileDataInput in, EnumSet<MetadataType> types) throws IOException
{
Map<MetadataType, MetadataComponent> components = Maps.newHashMap();
// read number of components
int numComponents = in.readInt();
// read toc
Map<MetadataType, Integer> toc = new HashMap<>(numComponents);
MetadataType[] values = MetadataType.values();
for (int i = 0; i < numComponents; i++)
{
toc.put(values[in.readInt()], in.readInt());
}
for (MetadataType type : types)
{
Integer offset = toc.get(type);
if (offset != null)
{
in.seek(offset);
MetadataComponent component = type.serializer.deserialize(descriptor.version, in);
components.put(type, component);
}
}
return components;
}
示例6: SimpleSliceReader
import org.apache.cassandra.io.util.FileDataInput; //导入方法依赖的package包/类
public SimpleSliceReader(SSTableReader sstable, RowIndexEntry indexEntry, FileDataInput input, Composite finishColumn)
{
Tracing.trace("Seeking to partition beginning in data file");
this.finishColumn = finishColumn;
this.comparator = sstable.metadata.comparator;
try
{
if (input == null)
{
this.file = sstable.getFileDataInput(indexEntry.position);
this.needsClosing = true;
}
else
{
this.file = input;
input.seek(indexEntry.position);
this.needsClosing = false;
}
// Skip key and data size
ByteBufferUtil.skipShortLength(file);
emptyColumnFamily = ArrayBackedSortedColumns.factory.create(sstable.metadata);
emptyColumnFamily.delete(DeletionTime.serializer.deserialize(file));
atomIterator = emptyColumnFamily.metadata().getOnDiskIterator(file, sstable.descriptor.version);
}
catch (IOException e)
{
sstable.markSuspect();
throw new CorruptSSTableException(e, sstable.getFilename());
}
}
示例7: setToRowStart
import org.apache.cassandra.io.util.FileDataInput; //导入方法依赖的package包/类
/**
* Sets the seek position to the start of the row for column scanning.
*/
private void setToRowStart(RowIndexEntry rowEntry, FileDataInput in) throws IOException
{
if (in == null)
{
this.file = sstable.getFileDataInput(rowEntry.position);
}
else
{
this.file = in;
in.seek(rowEntry.position);
}
sstable.partitioner.decorateKey(ByteBufferUtil.readWithShortLength(file));
}
示例8: SimpleSliceReader
import org.apache.cassandra.io.util.FileDataInput; //导入方法依赖的package包/类
public SimpleSliceReader(SSTableReader sstable, RowIndexEntry indexEntry, FileDataInput input, ByteBuffer finishColumn)
{
Tracing.trace("Seeking to partition beginning in data file");
this.finishColumn = finishColumn;
this.comparator = sstable.metadata.comparator;
try
{
if (input == null)
{
this.file = sstable.getFileDataInput(indexEntry.position);
this.needsClosing = true;
}
else
{
this.file = input;
input.seek(indexEntry.position);
this.needsClosing = false;
}
Descriptor.Version version = sstable.descriptor.version;
// Skip key and data size
ByteBufferUtil.skipShortLength(file);
if (version.hasRowSizeAndColumnCount)
file.readLong();
emptyColumnFamily = EmptyColumns.factory.create(sstable.metadata);
emptyColumnFamily.delete(DeletionTime.serializer.deserialize(file));
int columnCount = version.hasRowSizeAndColumnCount ? file.readInt() : Integer.MAX_VALUE;
atomIterator = emptyColumnFamily.metadata().getOnDiskIterator(file, columnCount, sstable.descriptor.version);
}
catch (IOException e)
{
sstable.markSuspect();
throw new CorruptSSTableException(e, sstable.getFilename());
}
}
示例9: setToRowStart
import org.apache.cassandra.io.util.FileDataInput; //导入方法依赖的package包/类
/**
* Sets the seek position to the start of the row for column scanning.
*/
private void setToRowStart(SSTableReader reader, RowIndexEntry indexEntry, FileDataInput input) throws IOException
{
if (input == null)
{
this.file = sstable.getFileDataInput(indexEntry.position);
}
else
{
this.file = input;
input.seek(indexEntry.position);
}
sstable.decodeKey(ByteBufferUtil.readWithShortLength(file));
SSTableReader.readRowSize(file, sstable.descriptor);
}
示例10: SimpleSliceReader
import org.apache.cassandra.io.util.FileDataInput; //导入方法依赖的package包/类
public SimpleSliceReader(SSTableReader sstable, RowIndexEntry indexEntry, FileDataInput input, Composite finishColumn)
{
Tracing.trace("Seeking to partition beginning in data file");
this.finishColumn = finishColumn;
this.comparator = sstable.metadata.comparator;
try
{
if (input == null)
{
this.file = sstable.getFileDataInput(indexEntry.position);
this.needsClosing = true;
}
else
{
this.file = input;
input.seek(indexEntry.position);
this.needsClosing = false;
}
Descriptor.Version version = sstable.descriptor.version;
// Skip key and data size
ByteBufferUtil.skipShortLength(file);
if (version.hasRowSizeAndColumnCount)
file.readLong();
emptyColumnFamily = EmptyColumns.factory.create(sstable.metadata);
emptyColumnFamily.delete(DeletionTime.serializer.deserialize(file));
int columnCount = version.hasRowSizeAndColumnCount ? file.readInt() : Integer.MAX_VALUE;
atomIterator = emptyColumnFamily.metadata().getOnDiskIterator(file, columnCount, sstable.descriptor.version);
}
catch (IOException e)
{
sstable.markSuspect();
throw new CorruptSSTableException(e, sstable.getFilename());
}
}
示例11: SimpleSliceReader
import org.apache.cassandra.io.util.FileDataInput; //导入方法依赖的package包/类
public SimpleSliceReader(SSTableReader sstable, RowIndexEntry indexEntry, FileDataInput input, ByteBuffer finishColumn)
{
Tracing.trace("Seeking to partition beginning in data file");
this.sstable = sstable;
this.finishColumn = finishColumn;
this.comparator = sstable.metadata.comparator;
try
{
if (input == null)
{
this.file = sstable.getFileDataInput(indexEntry.position);
this.needsClosing = true;
}
else
{
this.file = input;
input.seek(indexEntry.position);
this.needsClosing = false;
}
// Skip key and data size
ByteBufferUtil.skipShortLength(file);
SSTableReader.readRowSize(file, sstable.descriptor);
Descriptor.Version version = sstable.descriptor.version;
if (!version.hasPromotedIndexes)
{
IndexHelper.skipBloomFilter(file);
IndexHelper.skipIndex(file);
}
emptyColumnFamily = ColumnFamily.create(sstable.metadata);
emptyColumnFamily.delete(DeletionTime.serializer.deserialize(file));
atomSerializer = emptyColumnFamily.getOnDiskSerializer();
columns = file.readInt();
mark = file.mark();
}
catch (IOException e)
{
sstable.markSuspect();
throw new CorruptSSTableException(e, sstable.getFilename());
}
}