Search in sources :

Example 6 with CountingInputStream

use of com.google.common.io.CountingInputStream in project POL-POM-5 by PlayOnLinux.

the class Zip method uncompressZipFile.

List<File> uncompressZipFile(File inputFile, File outputDir, Consumer<ProgressEntity> stateCallback) {
    try (CountingInputStream inputStream = new CountingInputStream(new FileInputStream(inputFile))) {
        final long finalSize = FileUtils.sizeOf(inputFile);
        List<File> files = uncompress(inputStream, inputStream, outputDir, finalSize, stateCallback);
        return files;
    } catch (IOException e) {
        throw new ArchiveException(ZIP_ERROR_MESSAGE, e);
    }
}
Also used : CountingInputStream(com.google.common.io.CountingInputStream)

Example 7 with CountingInputStream

use of com.google.common.io.CountingInputStream in project jackrabbit-oak by apache.

the class StatsCollectingStreams method wrap.

public static InputStream wrap(final BlobStatsCollector collector, final String blobId, InputStream in) {
    final CountingInputStream cin = new CountingInputStream(in);
    return new FilterInputStream(cin) {

        final long startTime = System.nanoTime();

        @Override
        public void close() throws IOException {
            super.close();
            //We rely on close to determine how much was downloaded
            //as once an InputStream is exposed its not possible to
            //determine if the stream is actually used
            //Download time might not be accurate as reading code might
            //be processing also as it moved further in stream. So that
            //overhead would add to the download time
            collector.downloaded(blobId, System.nanoTime() - startTime, TimeUnit.NANOSECONDS, cin.getCount());
            collector.downloadCompleted(blobId);
        }
    };
}
Also used : FilterInputStream(java.io.FilterInputStream) CountingInputStream(com.google.common.io.CountingInputStream)

Example 8 with CountingInputStream

use of com.google.common.io.CountingInputStream in project GeoGig by boundlessgeo.

the class SendObjectResource method post.

@Override
public void post(Representation entity) {
    InputStream input = null;
    Request request = getRequest();
    try {
        LOGGER.info("Receiving objects from {}", request.getClientInfo().getAddress());
        Representation representation = request.getEntity();
        input = representation.getStream();
        final GeoGIG ggit = getGeogig(request).get();
        final BinaryPackedObjects unpacker = new BinaryPackedObjects(ggit.getRepository().objectDatabase());
        CountingInputStream countingStream = new CountingInputStream(input);
        Stopwatch sw = Stopwatch.createStarted();
        IngestResults ingestResults = unpacker.ingest(countingStream);
        sw.stop();
        LOGGER.info(String.format("SendObjectResource: Processed %,d objects.\nInserted: %,d.\nExisting: %,d.\nTime to process: %s.\nStream size: %,d bytes.\n", ingestResults.total(), ingestResults.getInserted(), ingestResults.getExisting(), sw, countingStream.getCount()));
    } catch (IOException e) {
        LOGGER.warn("Error processing incoming objects from {}", request.getClientInfo().getAddress(), e);
        throw new RestletException(e.getMessage(), Status.SERVER_ERROR_INTERNAL, e);
    } finally {
        if (input != null)
            Closeables.closeQuietly(input);
    }
}
Also used : CountingInputStream(com.google.common.io.CountingInputStream) InputStream(java.io.InputStream) RestletException(org.locationtech.geogig.rest.RestletException) Request(org.restlet.data.Request) CountingInputStream(com.google.common.io.CountingInputStream) Stopwatch(com.google.common.base.Stopwatch) Representation(org.restlet.resource.Representation) IngestResults(org.locationtech.geogig.remote.BinaryPackedObjects.IngestResults) IOException(java.io.IOException) GeoGIG(org.locationtech.geogig.api.GeoGIG) BinaryPackedObjects(org.locationtech.geogig.remote.BinaryPackedObjects)

Example 9 with CountingInputStream

use of com.google.common.io.CountingInputStream in project hbase by apache.

the class TestCellMessageCodec method testOne.

@Test
public void testOne() throws IOException {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    CountingOutputStream cos = new CountingOutputStream(baos);
    DataOutputStream dos = new DataOutputStream(cos);
    MessageCodec cmc = new MessageCodec();
    Codec.Encoder encoder = cmc.getEncoder(dos);
    final KeyValue kv = new KeyValue(Bytes.toBytes("r"), Bytes.toBytes("f"), Bytes.toBytes("q"), Bytes.toBytes("v"));
    encoder.write(kv);
    encoder.flush();
    dos.close();
    long offset = cos.getCount();
    CountingInputStream cis = new CountingInputStream(new ByteArrayInputStream(baos.toByteArray()));
    DataInputStream dis = new DataInputStream(cis);
    Codec.Decoder decoder = cmc.getDecoder(dis);
    // First read should pull in the KV
    assertTrue(decoder.advance());
    // Second read should trip over the end-of-stream  marker and return false
    assertFalse(decoder.advance());
    dis.close();
    assertEquals(offset, cis.getCount());
}
Also used : CountingOutputStream(com.google.common.io.CountingOutputStream) KeyValue(org.apache.hadoop.hbase.KeyValue) ByteArrayInputStream(java.io.ByteArrayInputStream) DataOutputStream(java.io.DataOutputStream) CountingInputStream(com.google.common.io.CountingInputStream) ByteArrayOutputStream(java.io.ByteArrayOutputStream) DataInputStream(java.io.DataInputStream) Test(org.junit.Test)

Example 10 with CountingInputStream

use of com.google.common.io.CountingInputStream in project hbase by apache.

the class TestCellMessageCodec method testThree.

@Test
public void testThree() throws IOException {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    CountingOutputStream cos = new CountingOutputStream(baos);
    DataOutputStream dos = new DataOutputStream(cos);
    MessageCodec cmc = new MessageCodec();
    Codec.Encoder encoder = cmc.getEncoder(dos);
    final KeyValue kv1 = new KeyValue(Bytes.toBytes("r"), Bytes.toBytes("f"), Bytes.toBytes("1"), Bytes.toBytes("1"));
    final KeyValue kv2 = new KeyValue(Bytes.toBytes("r"), Bytes.toBytes("f"), Bytes.toBytes("2"), Bytes.toBytes("2"));
    final KeyValue kv3 = new KeyValue(Bytes.toBytes("r"), Bytes.toBytes("f"), Bytes.toBytes("3"), Bytes.toBytes("3"));
    encoder.write(kv1);
    encoder.write(kv2);
    encoder.write(kv3);
    encoder.flush();
    dos.close();
    long offset = cos.getCount();
    CountingInputStream cis = new CountingInputStream(new ByteArrayInputStream(baos.toByteArray()));
    DataInputStream dis = new DataInputStream(cis);
    Codec.Decoder decoder = cmc.getDecoder(dis);
    assertTrue(decoder.advance());
    Cell c = decoder.current();
    assertTrue(CellUtil.equals(c, kv1));
    assertTrue(decoder.advance());
    c = decoder.current();
    assertTrue(CellUtil.equals(c, kv2));
    assertTrue(decoder.advance());
    c = decoder.current();
    assertTrue(CellUtil.equals(c, kv3));
    assertFalse(decoder.advance());
    dis.close();
    assertEquals(offset, cis.getCount());
}
Also used : KeyValue(org.apache.hadoop.hbase.KeyValue) DataOutputStream(java.io.DataOutputStream) CountingInputStream(com.google.common.io.CountingInputStream) ByteArrayOutputStream(java.io.ByteArrayOutputStream) DataInputStream(java.io.DataInputStream) CountingOutputStream(com.google.common.io.CountingOutputStream) ByteArrayInputStream(java.io.ByteArrayInputStream) Cell(org.apache.hadoop.hbase.Cell) Test(org.junit.Test)

Aggregations

CountingInputStream (com.google.common.io.CountingInputStream)20 ByteArrayInputStream (java.io.ByteArrayInputStream)12 DataInputStream (java.io.DataInputStream)12 CountingOutputStream (com.google.common.io.CountingOutputStream)11 ByteArrayOutputStream (java.io.ByteArrayOutputStream)11 DataOutputStream (java.io.DataOutputStream)11 Test (org.junit.Test)11 KeyValue (org.apache.hadoop.hbase.KeyValue)8 Cell (org.apache.hadoop.hbase.Cell)4 IOException (java.io.IOException)2 InputStream (java.io.InputStream)2 ArrayBackedTag (org.apache.hadoop.hbase.ArrayBackedTag)2 Tag (org.apache.hadoop.hbase.Tag)2 LazyInputStream (org.apache.jackrabbit.oak.commons.io.LazyInputStream)2 ParseContext (org.apache.tika.parser.ParseContext)2 WriteOutContentHandler (org.apache.tika.sax.WriteOutContentHandler)2 VisibleForTesting (com.google.common.annotations.VisibleForTesting)1 Stopwatch (com.google.common.base.Stopwatch)1 FileNotFoundException (java.io.FileNotFoundException)1 FilterInputStream (java.io.FilterInputStream)1