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


Java BytesReadTracker.reset方法代码示例

本文整理汇总了Java中org.apache.cassandra.utils.BytesReadTracker.reset方法的典型用法代码示例。如果您正苦于以下问题:Java BytesReadTracker.reset方法的具体用法?Java BytesReadTracker.reset怎么用?Java BytesReadTracker.reset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.cassandra.utils.BytesReadTracker的用法示例。


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

示例1: read

import org.apache.cassandra.utils.BytesReadTracker; //导入方法依赖的package包/类
/**
 * @return SSTable transferred
 * @throws java.io.IOException if reading the remote sstable fails. Will throw an RTE if local write fails.
 */
@Override
public SSTableReader read(ReadableByteChannel channel) throws IOException
{
    long totalSize = totalSize();

    Pair<String, String> kscf = Schema.instance.getCF(cfId);
    ColumnFamilyStore cfs = Keyspace.open(kscf.left).getColumnFamilyStore(kscf.right);

    SSTableWriter writer = createWriter(cfs, totalSize);

    CompressedInputStream cis = new CompressedInputStream(Channels.newInputStream(channel), compressionInfo, inputVersion.hasPostCompressionAdlerChecksums);
    BytesReadTracker in = new BytesReadTracker(new DataInputStream(cis));
    try
    {
        for (Pair<Long, Long> section : sections)
        {
            long length = section.right - section.left;
            // skip to beginning of section inside chunk
            cis.position(section.left);
            in.reset(0);
            while (in.getBytesRead() < length)
            {
                writeRow(writer, in, cfs);
                // when compressed, report total bytes of compressed chunks read since remoteFile.size is the sum of chunks transferred
                session.progress(desc, ProgressInfo.Direction.IN, cis.getTotalCompressedBytesRead(), totalSize);
            }
        }
        return writer.closeAndOpenReader();
    }
    catch (Throwable e)
    {
        writer.abort();
        drain(cis, in.getBytesRead());
        if (e instanceof IOException)
            throw (IOException) e;
        else
            throw Throwables.propagate(e);
    }
}
 
开发者ID:pgaref,项目名称:ACaZoo,代码行数:44,代码来源:CompressedStreamReader.java

示例2: read

import org.apache.cassandra.utils.BytesReadTracker; //导入方法依赖的package包/类
/**
 * @return SSTable transferred
 * @throws java.io.IOException if reading the remote sstable fails. Will throw an RTE if local write fails.
 */
@Override
public SSTableWriter read(ReadableByteChannel channel) throws IOException
{
    logger.debug("reading file from {}, repairedAt = {}", session.peer, repairedAt);
    long totalSize = totalSize();

    Pair<String, String> kscf = Schema.instance.getCF(cfId);
    if (kscf == null)
    {
        // schema was dropped during streaming
        throw new IOException("CF " + cfId + " was dropped during streaming");
    }
    ColumnFamilyStore cfs = Keyspace.open(kscf.left).getColumnFamilyStore(kscf.right);

    SSTableWriter writer = createWriter(cfs, totalSize, repairedAt);

    CompressedInputStream cis = new CompressedInputStream(Channels.newInputStream(channel), compressionInfo, inputVersion.hasPostCompressionAdlerChecksums);
    BytesReadTracker in = new BytesReadTracker(new DataInputStream(cis));
    try
    {
        for (Pair<Long, Long> section : sections)
        {
            long length = section.right - section.left;
            // skip to beginning of section inside chunk
            cis.position(section.left);
            in.reset(0);
            while (in.getBytesRead() < length)
            {
                writeRow(writer, in, cfs);
                // when compressed, report total bytes of compressed chunks read since remoteFile.size is the sum of chunks transferred
                session.progress(desc, ProgressInfo.Direction.IN, cis.getTotalCompressedBytesRead(), totalSize);
            }
        }
        return writer;
    }
    catch (Throwable e)
    {
        writer.abort();
        drain(cis, in.getBytesRead());
        if (e instanceof IOException)
            throw (IOException) e;
        else
            throw Throwables.propagate(e);
    }
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:50,代码来源:CompressedStreamReader.java

示例3: read

import org.apache.cassandra.utils.BytesReadTracker; //导入方法依赖的package包/类
/**
 * @return SSTable transferred
 * @throws java.io.IOException if reading the remote sstable fails. Will throw an RTE if local write fails.
 */
@Override
public SSTableWriter read(ReadableByteChannel channel) throws IOException
{
    logger.info("reading file from {}, repairedAt = {}", session.peer, repairedAt);
    long totalSize = totalSize();

    Pair<String, String> kscf = Schema.instance.getCF(cfId);
    ColumnFamilyStore cfs = Keyspace.open(kscf.left).getColumnFamilyStore(kscf.right);

    SSTableWriter writer = createWriter(cfs, totalSize, repairedAt);

    CompressedInputStream cis = new CompressedInputStream(Channels.newInputStream(channel), compressionInfo, inputVersion.hasPostCompressionAdlerChecksums);
    BytesReadTracker in = new BytesReadTracker(new DataInputStream(cis));
    try
    {
        for (Pair<Long, Long> section : sections)
        {
            long length = section.right - section.left;
            // skip to beginning of section inside chunk
            cis.position(section.left);
            in.reset(0);
            while (in.getBytesRead() < length)
            {
                writeRow(writer, in, cfs);
                // when compressed, report total bytes of compressed chunks read since remoteFile.size is the sum of chunks transferred
                session.progress(desc, ProgressInfo.Direction.IN, cis.getTotalCompressedBytesRead(), totalSize);
            }
        }
        return writer;
    }
    catch (Throwable e)
    {
        writer.abort();
        drain(cis, in.getBytesRead());
        if (e instanceof IOException)
            throw (IOException) e;
        else
            throw Throwables.propagate(e);
    }
}
 
开发者ID:rajath26,项目名称:cassandra-trunk,代码行数:45,代码来源:CompressedStreamReader.java


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