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


Java ISerializer类代码示例

本文整理汇总了Java中org.apache.cassandra.io.ISerializer的典型用法代码示例。如果您正苦于以下问题:Java ISerializer类的具体用法?Java ISerializer怎么用?Java ISerializer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ISerializer类属于org.apache.cassandra.io包,在下文中一共展示了ISerializer类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: create

import org.apache.cassandra.io.ISerializer; //导入依赖的package包/类
/**
 * @param dataFilePosition  position of the partition in the {@link org.apache.cassandra.io.sstable.Component.Type#DATA} file
 * @param indexFilePosition position in the {@link org.apache.cassandra.io.sstable.Component.Type#PRIMARY_INDEX} of the {@link RowIndexEntry}
 * @param deletionTime      deletion time of {@link RowIndexEntry}
 * @param headerLength      deletion time of {@link RowIndexEntry}
 * @param columnIndexCount  number of {@link IndexInfo} entries in the {@link RowIndexEntry}
 * @param indexedPartSize   serialized size of all serialized {@link IndexInfo} objects and their offsets
 * @param indexSamples      list with IndexInfo offsets (if total serialized size is less than {@link org.apache.cassandra.config.Config#column_index_cache_size_in_kb}
 * @param offsets           offsets of IndexInfo offsets
 * @param idxInfoSerializer the {@link IndexInfo} serializer
 */
public static RowIndexEntry<IndexInfo> create(long dataFilePosition, long indexFilePosition,
                                   DeletionTime deletionTime, long headerLength, int columnIndexCount,
                                   int indexedPartSize,
                                   List<IndexInfo> indexSamples, int[] offsets,
                                   ISerializer<IndexInfo> idxInfoSerializer)
{
    // If the "partition building code" in BigTableWriter.append() via ColumnIndex returns a list
    // of IndexInfo objects, which is the case if the serialized size is less than
    // Config.column_index_cache_size_in_kb, AND we have more than one IndexInfo object, we
    // construct an IndexedEntry object. (note: indexSamples.size() and columnIndexCount have the same meaning)
    if (indexSamples != null && indexSamples.size() > 1)
        return new IndexedEntry(dataFilePosition, deletionTime, headerLength,
                                indexSamples.toArray(new IndexInfo[indexSamples.size()]), offsets,
                                indexedPartSize, idxInfoSerializer);
    // Here we have to decide whether we have serialized IndexInfo objects that exceeds
    // Config.column_index_cache_size_in_kb (not exceeding case covered above).
    // Such a "big" indexed-entry is represented as a shallow one.
    if (columnIndexCount > 1)
        return new ShallowIndexedEntry(dataFilePosition, indexFilePosition,
                                       deletionTime, headerLength, columnIndexCount,
                                       indexedPartSize, idxInfoSerializer);
    // Last case is that there are no index samples.
    return new RowIndexEntry<>(dataFilePosition);
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:36,代码来源:RowIndexEntry.java

示例2: ShallowIndexedEntry

import org.apache.cassandra.io.ISerializer; //导入依赖的package包/类
/**
 * See {@link #create(long, long, DeletionTime, long, int, int, List, int[], ISerializer)} for a description
 * of the parameters.
 */
private ShallowIndexedEntry(long dataFilePosition, long indexFilePosition,
                            DeletionTime deletionTime, long headerLength, int columnIndexCount,
                            int indexedPartSize, ISerializer<IndexInfo> idxInfoSerializer)
{
    super(dataFilePosition);

    assert columnIndexCount > 1;

    this.indexFilePosition = indexFilePosition;
    this.headerLength = headerLength;
    this.deletionTime = deletionTime;
    this.columnsIndexCount = columnIndexCount;

    this.indexedPartSize = indexedPartSize;
    this.idxInfoSerializer = idxInfoSerializer;

    this.fieldsSerializedSize = serializedSize(deletionTime, headerLength, columnIndexCount);
    this.offsetsOffset = indexedPartSize + fieldsSerializedSize - columnsIndexCount * TypeSizes.sizeof(0);
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:24,代码来源:RowIndexEntry.java

示例3: deserialize

import org.apache.cassandra.io.ISerializer; //导入依赖的package包/类
public RowIndexEntry deserialize(DataInput in, Descriptor.Version version) throws IOException
{
    long position = in.readLong();

    int size = in.readInt();
    if (size > 0)
    {
        DeletionTime deletionTime = DeletionTime.serializer.deserialize(in);

        int entries = in.readInt();
        ISerializer<IndexHelper.IndexInfo> idxSerializer = type.indexSerializer();
        List<IndexHelper.IndexInfo> columnsIndex = new ArrayList<IndexHelper.IndexInfo>(entries);
        for (int i = 0; i < entries; i++)
            columnsIndex.add(idxSerializer.deserialize(in));

        return new IndexedEntry(position, deletionTime, columnsIndex);
    }
    else
    {
        return new RowIndexEntry(position);
    }
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:23,代码来源:RowIndexEntry.java

示例4: serializedSize

import org.apache.cassandra.io.ISerializer; //导入依赖的package包/类
public int serializedSize(RowIndexEntry rie)
{
    int size = TypeSizes.NATIVE.sizeof(rie.position) + TypeSizes.NATIVE.sizeof(rie.promotedSize(type));

    if (rie.isIndexed())
    {
        List<IndexHelper.IndexInfo> index = rie.columnsIndex();

        size += DeletionTime.serializer.serializedSize(rie.deletionTime(), TypeSizes.NATIVE);
        size += TypeSizes.NATIVE.sizeof(index.size());

        ISerializer<IndexHelper.IndexInfo> idxSerializer = type.indexSerializer();
        for (IndexHelper.IndexInfo info : index)
            size += idxSerializer.serializedSize(info, TypeSizes.NATIVE);
    }

    return size;
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:19,代码来源:RowIndexEntry.java

示例5: SerializingCache

import org.apache.cassandra.io.ISerializer; //导入依赖的package包/类
private SerializingCache(long capacity, Weigher<RefCountedMemory> weigher, ISerializer<V> serializer)
{
    this.serializer = serializer;

    EvictionListener<K,RefCountedMemory> listener = new EvictionListener<K, RefCountedMemory>()
    {
        public void onEviction(K k, RefCountedMemory mem)
        {
            mem.unreference();
        }
    };

    this.map = new ConcurrentLinkedHashMap.Builder<K, RefCountedMemory>()
               .weigher(weigher)
               .maximumWeightedCapacity(capacity)
               .concurrencyLevel(DEFAULT_CONCURENCY_LEVEL)
               .listener(listener)
               .build();
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:20,代码来源:SerializingCache.java

示例6: IndexedEntry

import org.apache.cassandra.io.ISerializer; //导入依赖的package包/类
private IndexedEntry(long dataFilePosition, DeletionTime deletionTime, long headerLength,
                     IndexInfo[] columnsIndex, int[] offsets,
                     int indexedPartSize, ISerializer<IndexInfo> idxInfoSerializer)
{
    super(dataFilePosition);

    this.headerLength = headerLength;
    this.deletionTime = deletionTime;

    this.columnsIndex = columnsIndex;
    this.offsets = offsets;
    this.indexedPartSize = indexedPartSize;
    this.idxInfoSerializer = idxInfoSerializer;
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:15,代码来源:RowIndexEntry.java

示例7: FileIndexInfoRetriever

import org.apache.cassandra.io.ISerializer; //导入依赖的package包/类
/**
 *
 * @param indexInfoFilePosition offset of first serialized {@link IndexInfo} object
 * @param indexReader file data input to access the index file, closed by this instance
 * @param idxInfoSerializer the index serializer to deserialize {@link IndexInfo} objects
 */
FileIndexInfoRetriever(long indexInfoFilePosition, FileDataInput indexReader, ISerializer<IndexInfo> idxInfoSerializer)
{
    this.indexInfoFilePosition = indexInfoFilePosition;
    this.idxInfoSerializer = idxInfoSerializer;
    this.indexReader = indexReader;
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:13,代码来源:RowIndexEntry.java

示例8: ColumnIndex

import org.apache.cassandra.io.ISerializer; //导入依赖的package包/类
public ColumnIndex(SerializationHeader header,
                    SequentialWriter writer,
                    Version version,
                    Collection<SSTableFlushObserver> observers,
                    ISerializer<IndexInfo> indexInfoSerializer)
{
    this.header = header;
    this.writer = writer;
    this.version = version.correspondingMessagingVersion();
    this.observers = observers;
    this.idxSerializer = indexInfoSerializer;
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:13,代码来源:ColumnIndex.java

示例9: indexEntryClusteringPrefixSerializer

import org.apache.cassandra.io.ISerializer; //导入依赖的package包/类
private ISerializer<ClusteringPrefix> indexEntryClusteringPrefixSerializer(Version version, SerializationHeader header)
{
    if (!version.storeRows() || header ==  null) //null header indicates streaming from pre-3.0 sstables
    {
        return oldFormatSerializer(version);
    }

    return new NewFormatSerializer(version, header.clusteringTypes());
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:10,代码来源:Serializers.java

示例10: serialize

import org.apache.cassandra.io.ISerializer; //导入依赖的package包/类
public void serialize(RowIndexEntry rie, DataOutputPlus out) throws IOException
{
    out.writeLong(rie.position);
    out.writeInt(rie.promotedSize(type));

    if (rie.isIndexed())
    {
        DeletionTime.serializer.serialize(rie.deletionTime(), out);
        out.writeInt(rie.columnsIndex().size());
        ISerializer<IndexHelper.IndexInfo> idxSerializer = type.indexSerializer();
        for (IndexHelper.IndexInfo info : rie.columnsIndex())
            idxSerializer.serialize(info, out);
    }
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:15,代码来源:RowIndexEntry.java

示例11: promotedSize

import org.apache.cassandra.io.ISerializer; //导入依赖的package包/类
@Override
public int promotedSize(CType type)
{
    TypeSizes typeSizes = TypeSizes.NATIVE;
    long size = DeletionTime.serializer.serializedSize(deletionTime, typeSizes);
    size += typeSizes.sizeof(columnsIndex.size()); // number of entries
    ISerializer<IndexHelper.IndexInfo> idxSerializer = type.indexSerializer();
    for (IndexHelper.IndexInfo info : columnsIndex)
        size += idxSerializer.serializedSize(info, typeSizes);

    return Ints.checkedCast(size);
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:13,代码来源:RowIndexEntry.java

示例12: serialize

import org.apache.cassandra.io.ISerializer; //导入依赖的package包/类
public void serialize(NamesQueryFilter f, DataOutputPlus out, int version) throws IOException
{
    out.writeInt(f.columns.size());
    ISerializer<CellName> serializer = type.cellSerializer();
    for (CellName cName : f.columns)
    {
        serializer.serialize(cName, out);
    }
    out.writeBoolean(f.countCQL3Rows);
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:11,代码来源:NamesQueryFilter.java

示例13: deserialize

import org.apache.cassandra.io.ISerializer; //导入依赖的package包/类
public NamesQueryFilter deserialize(DataInput in, int version) throws IOException
{
    int size = in.readInt();
    SortedSet<CellName> columns = new TreeSet<CellName>(type);
    ISerializer<CellName> serializer = type.cellSerializer();
    for (int i = 0; i < size; ++i)
        columns.add(serializer.deserialize(in));
    boolean countCQL3Rows = in.readBoolean();
    return new NamesQueryFilter(columns, countCQL3Rows);
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:11,代码来源:NamesQueryFilter.java

示例14: serializedSize

import org.apache.cassandra.io.ISerializer; //导入依赖的package包/类
public long serializedSize(NamesQueryFilter f, int version)
{
    TypeSizes sizes = TypeSizes.NATIVE;
    int size = sizes.sizeof(f.columns.size());
    ISerializer<CellName> serializer = type.cellSerializer();
    for (CellName cName : f.columns)
        size += serializer.serializedSize(cName, sizes);
    size += sizes.sizeof(f.countCQL3Rows);
    return size;
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:11,代码来源:NamesQueryFilter.java

示例15: deserialize

import org.apache.cassandra.io.ISerializer; //导入依赖的package包/类
public ColumnSlice deserialize(DataInput in, int version) throws IOException
{
    ISerializer<Composite> serializer = type.serializer();
    Composite start = serializer.deserialize(in);
    Composite finish = serializer.deserialize(in);
    return new ColumnSlice(start, finish);
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:8,代码来源:ColumnSlice.java


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