当前位置: 首页>>代码示例>>Java>>正文


Java FileDataInput.seek方法代码示例

本文整理汇总了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());
    }
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:20,代码来源:SSTableIdentityIterator.java

示例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;
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:25,代码来源:MetadataSerializer.java

示例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;
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:24,代码来源:MetadataSerializer.java

示例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();
}
 
开发者ID:pgaref,项目名称:ACaZoo,代码行数:19,代码来源:IndexedSliceReader.java

示例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;
}
 
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:25,代码来源:MetadataSerializer.java

示例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());
    }
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:33,代码来源:SimpleSliceReader.java

示例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));
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:17,代码来源:IndexedSliceReader.java

示例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());
    }
}
 
开发者ID:pgaref,项目名称:ACaZoo,代码行数:38,代码来源:SimpleSliceReader.java

示例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);
}
 
开发者ID:dprguiuc,项目名称:Cassandra-Wasef,代码行数:18,代码来源:IndexedSliceReader.java

示例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());
    }
}
 
开发者ID:mafernandez-stratio,项目名称:cassandra-cqlMod,代码行数:38,代码来源:SimpleSliceReader.java

示例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());
    }
}
 
开发者ID:dprguiuc,项目名称:Cassandra-Wasef,代码行数:44,代码来源:SimpleSliceReader.java


注:本文中的org.apache.cassandra.io.util.FileDataInput.seek方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。