Java 类com.esotericsoftware.kryo.io.ByteBufferOutput 实例源码

项目:athena    文件:KryoNamespace.java   
/**
 * Serializes given object to byte array using Kryo instance in pool.
 *
 * @param obj Object to serialize
 * @param bufferSize maximum size of serialized bytes
 * @return serialized bytes
 */
public byte[] serialize(final Object obj, final int bufferSize) {
    ByteBufferOutput out = new ByteBufferOutput(bufferSize, MAX_BUFFER_SIZE);
    try {
        Kryo kryo = borrow();
        try {
            kryo.writeClassAndObject(out, obj);
            out.flush();
            return out.toBytes();
        } finally {
            release(kryo);
        }
    } finally {
        out.release();
    }
}
项目:hydrogen-ssdb    文件:KryoSerializationTest.java   
@Test
public void testSerialization() throws Exception {
    User user = new User(1, "admin", new Date());

    Kryo kryo = new Kryo();
    ByteBufferOutput output = new ByteBufferOutput(10240);
    kryo.writeObject(output, user);
    byte[] bytes = output.toBytes();
    System.out.println("Saved bytes: " + Bytes.toString(bytes));

    ssdbClient.set("kryo_user", bytes);

    //////////////////////////////////////////////////////////////

    byte[] readBytes = ssdbClient.getBytes("kryo_user");
    System.out.println("Read  bytes: " + Bytes.toString(readBytes));
    Assert.assertEquals(bytes.length, readBytes.length);
}
项目:proteus-consumer-couchbase    文件:ProteusSerializer.java   
@Override
public byte[] serialize(String topic, Measurement record) {
    int byteBufferLength = 50;
    if (record instanceof HSMMeasurement) {
        byteBufferLength = 7600 * 2 * 100; // TODO: improve
    }
    ByteBufferOutput output = new ByteBufferOutput(byteBufferLength);
    kryos.get().writeObject(output, record);
    return output.toBytes();
}
项目:athena    文件:KryoNamespace.java   
/**
 * Serializes given object to byte buffer using Kryo instance in pool.
 *
 * @param obj Object to serialize
 * @param buffer to write to
 */
public void serialize(final Object obj, final ByteBuffer buffer) {
    ByteBufferOutput out = new ByteBufferOutput(buffer);
    Kryo kryo = borrow();
    try {
        kryo.writeClassAndObject(out, obj);
        out.flush();
    } finally {
        release(kryo);
    }
}
项目:athena    文件:KryoNamespace.java   
/**
 * Serializes given object to OutputStream using Kryo instance in pool.
 *
 * @param obj Object to serialize
 * @param stream to write to
 * @param bufferSize size of the buffer in front of the stream
 */
public void serialize(final Object obj, final OutputStream stream, final int bufferSize) {
    ByteBufferOutput out = new ByteBufferOutput(stream, bufferSize);
    Kryo kryo = borrow();
    try {
        kryo.writeClassAndObject(out, obj);
        out.flush();
    } finally {
        release(kryo);
    }
}
项目:ravikumaran201504    文件:KryoNamespace.java   
/**
 * Serializes given object to byte array using Kryo instance in pool.
 *
 * @param obj Object to serialize
 * @param bufferSize maximum size of serialized bytes
 * @return serialized bytes
 */
public byte[] serialize(final Object obj, final int bufferSize) {
    ByteBufferOutput out = new ByteBufferOutput(bufferSize, MAX_BUFFER_SIZE);
    Kryo kryo = borrow();
    try {
        kryo.writeClassAndObject(out, obj);
        out.flush();
        return out.toBytes();
    } finally {
        release(kryo);
    }
}
项目:ravikumaran201504    文件:KryoNamespace.java   
/**
 * Serializes given object to byte buffer using Kryo instance in pool.
 *
 * @param obj Object to serialize
 * @param buffer to write to
 */
public void serialize(final Object obj, final ByteBuffer buffer) {
    ByteBufferOutput out = new ByteBufferOutput(buffer);
    Kryo kryo = borrow();
    try {
        kryo.writeClassAndObject(out, obj);
        out.flush();
    } finally {
        release(kryo);
    }
}
项目:ravikumaran201504    文件:KryoNamespace.java   
/**
 * Serializes given object to OutputStream using Kryo instance in pool.
 *
 * @param obj Object to serialize
 * @param stream to write to
 * @param bufferSize size of the buffer in front of the stream
 */
public void serialize(final Object obj, final OutputStream stream, final int bufferSize) {
    ByteBufferOutput out = new ByteBufferOutput(stream, bufferSize);
    Kryo kryo = borrow();
    try {
        kryo.writeClassAndObject(out, obj);
        out.flush();
    } finally {
        release(kryo);
    }
}
项目:magic-realm    文件:KryoSerialization.java   
public KryoSerialization (Kryo kryo) {
    this.kryo = kryo;

    kryo.register(RegisterTCP.class);
    kryo.register(RegisterUDP.class);
    kryo.register(KeepAlive.class);
    kryo.register(DiscoverHost.class);
    kryo.register(Ping.class);

    input = new ByteBufferInput();
    output = new ByteBufferOutput();
}
项目:atomix    文件:KryoNamespace.java   
/**
 * Serializes given object to byte buffer using Kryo instance in pool.
 *
 * @param obj    Object to serialize
 * @param buffer to write to
 */
public void serialize(final Object obj, final ByteBuffer buffer) {
  ByteBufferOutput out = new ByteBufferOutput(buffer);
  Kryo kryo = borrow();
  try {
    kryo.writeClassAndObject(out, obj);
    out.flush();
  } finally {
    release(kryo);
  }
}
项目:atomix    文件:KryoNamespace.java   
/**
 * Serializes given object to OutputStream using Kryo instance in pool.
 *
 * @param obj        Object to serialize
 * @param stream     to write to
 * @param bufferSize size of the buffer in front of the stream
 */
public void serialize(final Object obj, final OutputStream stream, final int bufferSize) {
  ByteBufferOutput out = new ByteBufferOutput(stream, bufferSize);
  Kryo kryo = borrow();
  try {
    kryo.writeClassAndObject(out, obj);
    out.flush();
  } finally {
    release(kryo);
  }
}
项目:dataflux    文件:WebTxnKafkaProducer.java   
@Override
public void run() {

    Kryo kryoInstance = kryoPool.getKryo();
    KafkaProducerPool pool = KafkaProducerPool.getInstance();
    KafkaProducer producer = pool.getProducer();

    try {

        for (WebTxnData dataItem : dataBatch) {

            ByteBufferOutput bufferOutput = new ByteBufferOutput(4096);
            kryoInstance.writeObject(bufferOutput, dataItem);
            byte[] msgBytes = bufferOutput.toBytes();

            bufferOutput.clear();

            //serialize item
            byte[] keyBytes = UUID.randomUUID().toString().getBytes();

            KeyedMessage<byte[], byte[]> message = new KeyedMessage<byte[], byte[]>(MsgConstants.WEB_TXN_TOPIC_NAME,
                    keyBytes,
                    msgBytes);
            // message producer is Async , it will queue and send out the pipe
            //order doesn't matter
            producer.sendMsg(message);
        }
        dataBatch.clear();
    } catch (Exception e) {
        logger.warn("Exception in sending message");
    } finally {

        pool.returnToPool(producer);
        kryoPool.returnToPool(kryoInstance);
    }
}
项目:dataflux    文件:WebTxnFeeder.java   
@Override
public void run() {

    Kryo kryoInstance = kryoPool.getKryo();
    KafkaProducerPool pool = KafkaProducerPool.getInstance();
    KafkaProducer producer = pool.getProducer();

    try {

        for (WebTxnData dataItem : dataBatch) {

            ByteBufferOutput bufferOutput = new ByteBufferOutput(4096);
            kryoInstance.writeObject(bufferOutput, dataItem);
            byte[] msgBytes = bufferOutput.toBytes();

            bufferOutput.clear();

            //serialize item
            byte[] keyBytes = String.valueOf(random.nextInt()).getBytes();

            KeyedMessage<byte[], byte[]> message = new KeyedMessage<byte[], byte[]>(MsgConstants.WEB_TXN_TOPIC_NAME,
                    keyBytes,
                    msgBytes);
            // message producer is Async , it will queue and send out the pipe
            //order doesn't matter
            producer.sendMsg(message);
        }
        dataBatch.clear();
    } catch (Exception e) {
        logger.warn("Exception in sending message");
    } finally {

        pool.returnToPool(producer);
        kryoPool.returnToPool(kryoInstance);
    }
}
项目:dataflux    文件:WebTxnSerializer.java   
@Override
public byte[] toBytes(Object dataItem) {
    Kryo kryoInstance = pool.getKryo();
    ByteBufferOutput bufferOutput = new ByteBufferOutput(4096);
    kryoInstance.writeObject(bufferOutput,dataItem);
    byte [] msg = bufferOutput.toBytes();

    bufferOutput.clear();
    pool.returnToPool(kryoInstance);
    return msg;
}
项目:the-erder    文件:KryoSerialization.java   
public KryoSerialization(Kryo kryo) {
    this.kryo = kryo;

    kryo.register(RegisterTCP.class);
    kryo.register(RegisterUDP.class);
    kryo.register(KeepAlive.class);
    kryo.register(DiscoverHost.class);
    kryo.register(Ping.class);

    input = new ByteBufferInput();
    output = new ByteBufferOutput();
}
项目:onos    文件:KryoNamespace.java   
/**
 * Serializes given object to byte buffer using Kryo instance in pool.
 *
 * @param obj Object to serialize
 * @param buffer to write to
 */
public void serialize(final Object obj, final ByteBuffer buffer) {
    ByteBufferOutput out = new ByteBufferOutput(buffer);
    Kryo kryo = borrow();
    try {
        kryo.writeClassAndObject(out, obj);
        out.flush();
    } finally {
        release(kryo);
    }
}
项目:onos    文件:KryoNamespace.java   
/**
 * Serializes given object to OutputStream using Kryo instance in pool.
 *
 * @param obj Object to serialize
 * @param stream to write to
 * @param bufferSize size of the buffer in front of the stream
 */
public void serialize(final Object obj, final OutputStream stream, final int bufferSize) {
    ByteBufferOutput out = new ByteBufferOutput(stream, bufferSize);
    Kryo kryo = borrow();
    try {
        kryo.writeClassAndObject(out, obj);
        out.flush();
    } finally {
        release(kryo);
    }
}
项目:kryonet    文件:KryoSerialization.java   
public KryoSerialization (Kryo kryo) {
    this.kryo = kryo;

    kryo.register(RegisterTCP.class);
    kryo.register(RegisterUDP.class);
    kryo.register(KeepAlive.class);
    kryo.register(DiscoverHost.class);
    kryo.register(Ping.class);

    input = new ByteBufferInput();
    output = new ByteBufferOutput();
}
项目:kafka-serializer-example    文件:KryoReadingSerializer.java   
@Override
public byte[] serialize(String s, SensorReading sensorReading) {
    ByteBufferOutput output = new ByteBufferOutput(100);
    kryos.get().writeObject(output, sensorReading);
    return output.toBytes();
}
项目:hashaggregator    文件:GenericGroupByKeyTest.java   
public static void main(String [] args){
    String str = "India,Search,Asia";

    System.out.println("string is " + str.getBytes());
    Kryo kryo =KryoPool.getInstance().getKryo();
    ByteBufferOutput bufferOutput = new ByteBufferOutput(20);
    kryo.writeObject(bufferOutput, str);

    byte[] msgBytes = bufferOutput.toBytes();


    System.out.println(msgBytes.length);

    ByteBufferInput input = new ByteBufferInput(msgBytes.length);
    input.setBuffer(msgBytes);
    String str2 =  kryo.readObject(input,String.class);
    System.out.println(str2);
    KryoPool.getInstance().returnToPool(kryo);


}
项目:SwiftCloud    文件:MetadataStatsCollector.java   
protected Output initialValue() {
    return new ByteBufferOutput(EXPECTED_BUFFER_SIZE, MAX_BUFFER_SIZE);
}
项目:Pistachio    文件:KeyValueEncoder.java   
@Override protected ByteBufferOutput initialValue() {
    return new ByteBufferOutput(10240);
}
项目:Pistachio    文件:PistachiosTkIterator.java   
@Override protected ByteBufferOutput initialValue() {
    return new ByteBufferOutput(10240);
}
项目:hashaggregator    文件:GenericGroupByKeyTest.java   
public static void main(String [] args){
    String str = "India,Search,Asia";

    System.out.println("string is " + str.getBytes());
    Kryo kryo =KryoPool.getInstance().getKryo();
    ByteBufferOutput bufferOutput = new ByteBufferOutput(20);
    kryo.writeObject(bufferOutput, str);

    byte[] msgBytes = bufferOutput.toBytes();


    System.out.println(msgBytes.length);

    ByteBufferInput input = new ByteBufferInput(msgBytes.length);
    input.setBuffer(msgBytes);
    String str2 =  kryo.readObject(input,String.class);
    System.out.println(str2);
    KryoPool.getInstance().returnToPool(kryo);


}
项目:hashaggregator    文件:CacheStore.java   
public static void main(String[] args) {

        CacheStore.getInstance().init();
         HashFunction hf   = Hashing.murmur3_128(new Random().nextInt());;

        CacheStore store = CacheStore.getInstance();
        String keyCacheId = "Key-"+GlobalIdGenerator.getInstance().getId();
        Cache<Long,GenericGroupByKey> keyCache = store.makeKeyCache(keyCacheId);
        Kryo kryo = KryoPool.getInstance().getKryo();

        int minOfDay =0;

        Random random = new Random();
        long recordCount =0;
            for(int i =0;i < 10;i++){
                minOfDay = random.nextInt(1020202);
            for(String userAgentStr : UserAgentDataSet.userAgentSet) {

                Hasher hasher = hf.newHasher().putInt(minOfDay);
                final String completeStr = userAgentStr + "," + minOfDay;
                hasher.putString(completeStr, Charset.defaultCharset());

                ByteBufferOutput output = new ByteBufferOutput(completeStr.length() + 5);
                kryo.writeObject(output, completeStr);
                final long hashKey = hasher.hash().asLong();
                GenericGroupByKey groupByKey = new GenericGroupByKey(hashKey, output.toBytes());
                keyCache.put(hashKey, groupByKey);
                output.clear();

                recordCount++;

            }

        }

       store.deleteCache(keyCacheId);

        System.out.println("completed record " + recordCount);


        store.close();

    }
项目:hashaggregator    文件:CacheStore.java   
public static void main(String[] args) {

        CacheStore.getInstance().init();
         HashFunction hf   = Hashing.murmur3_128(new Random().nextInt());;

        CacheStore store = CacheStore.getInstance();
        String keyCacheId = "Key-"+GlobalIdGenerator.getInstance().getId();
        Cache<Long,GenericGroupByKey> keyCache = store.makeKeyCache(keyCacheId);
        Kryo kryo = KryoPool.getInstance().getKryo();

        int minOfDay =0;

        Random random = new Random();
        long recordCount =0;
            for(int i =0;i < 10;i++){
                minOfDay = random.nextInt(1020202);
            for(String userAgentStr : UserAgentDataSet.userAgentSet) {

                Hasher hasher = hf.newHasher().putInt(minOfDay);
                final String completeStr = userAgentStr + "," + minOfDay;
                hasher.putString(completeStr, Charset.defaultCharset());

                ByteBufferOutput output = new ByteBufferOutput(completeStr.length() + 5);
                kryo.writeObject(output, completeStr);
                final long hashKey = hasher.hash().asLong();
                GenericGroupByKey groupByKey = new GenericGroupByKey(hashKey, output.toBytes());
                keyCache.put(hashKey, groupByKey);
                output.clear();

                recordCount++;

            }

        }

       store.deleteCache(keyCacheId);

        System.out.println("completed record " + recordCount);


        store.close();

    }