Package com.esotericsoftware.kryo.io

Examples of com.esotericsoftware.kryo.io.OutputChunked


    this.serializer = serializer;
  }

  public void write (Kryo kryo, Output output, Object object) {
    Deflater deflater = new Deflater(compressionLevel, noHeaders);
    OutputChunked outputChunked = new OutputChunked(output, 256);
    DeflaterOutputStream deflaterStream = new DeflaterOutputStream(outputChunked, deflater);
    Output deflaterOutput = new Output(deflaterStream, 256);
    kryo.writeObject(deflaterOutput, object, serializer);
    deflaterOutput.flush();
    try {
      deflaterStream.finish();
    } catch (IOException ex) {
      throw new KryoException(ex);
    }
    outputChunked.endChunks();
  }
View Full Code Here


      output.writeVarInt(fields.length, true);
      for (int i = 0, n = fields.length; i < n; i++)
        output.writeString(fields[i].field.getName());
    }

    OutputChunked outputChunked = new OutputChunked(output, 1024);
    for (int i = 0, n = fields.length; i < n; i++) {
      fields[i].write(outputChunked, object);
      outputChunked.endChunks();
    }
  }
View Full Code Here

/** @author Nathan Sweet <misc@n4te.com> */
public class ChunkedTest extends KryoTestCase {
  public void testChunks () {
    Output output = new Output(512);
    output.writeInt(1234);
    OutputChunked outputChunked = new OutputChunked(output);
    outputChunked.writeInt(1);
    outputChunked.endChunks();
    outputChunked.writeInt(2);
    outputChunked.endChunks();
    outputChunked.writeInt(3);
    outputChunked.endChunks();
    outputChunked.writeInt(4);
    outputChunked.endChunks();
    outputChunked.writeInt(5);
    outputChunked.endChunks();
    output.writeInt(5678);
    output.close();

    Input input = new Input(output.getBuffer());
    assertEquals(1234, input.readInt());
View Full Code Here

      output.writeInt(fields.length, true);
      for (int i = 0, n = fields.length; i < n; i++)
        output.writeString(fields[i].field.getName());
    }

    OutputChunked outputChunked = new OutputChunked(output, 1024);
    for (int i = 0, n = fields.length; i < n; i++) {
      CachedField cachedField = fields[i];
      try {
        if (TRACE) trace("kryo", "Write field: " + cachedField + " (" + object.getClass().getName() + ")");

        Object value = cachedField.get(object);
        if (value == null) {
          kryo.writeClass(outputChunked, null);
          outputChunked.endChunks();
          continue;
        }

        Serializer serializer = cachedField.serializer;
        if (cachedField.valueClass == null) {
          Registration registration = kryo.writeClass(outputChunked, value.getClass());
          if (serializer == null) serializer = registration.getSerializer();
          if (cachedField.generics != null) serializer.setGenerics(kryo, cachedField.generics);
          kryo.writeObject(outputChunked, value, serializer);
        } else {
          if (serializer == null) cachedField.serializer = serializer = kryo.getSerializer(cachedField.valueClass);
          if (cachedField.generics != null) serializer.setGenerics(kryo, cachedField.generics);
          if (cachedField.canBeNull)
            kryo.writeObjectOrNull(outputChunked, value, serializer);
          else {
            if (value == null) {
              throw new KryoException("Field value is null but canBeNull is false: " + cachedField + " ("
                + object.getClass().getName() + ")");
            }
            kryo.writeObject(outputChunked, value, serializer);
          }
        }

        outputChunked.endChunks();
      } catch (IllegalAccessException ex) {
        throw new KryoException("Error accessing field: " + cachedField + " (" + object.getClass().getName() + ")", ex);
      } catch (KryoException ex) {
        ex.addTrace(cachedField + " (" + object.getClass().getName() + ")");
        throw ex;
View Full Code Here

      output.writeInt(fields.length, true);
      for (int i = 0, n = fields.length; i < n; i++)
        output.writeString(fields[i].field.getName());
    }

    OutputChunked outputChunked = new OutputChunked(output, 1024);
    for (int i = 0, n = fields.length; i < n; i++) {
      CachedField cachedField = fields[i];
      try {
        if (TRACE) trace("kryo", "Write field: " + cachedField + " (" + object.getClass().getName() + ")");

        Object value = cachedField.get(object);
        if (value == null) {
          kryo.writeClass(outputChunked, null);
          outputChunked.endChunks();
          continue;
        }

        Serializer serializer = cachedField.serializer;
        if (cachedField.fieldClass == null) {
          Registration registration = kryo.writeClass(outputChunked, value.getClass());
          if (serializer == null) serializer = registration.getSerializer();
          kryo.writeObject(outputChunked, value, serializer);
        } else {
          if (serializer == null)
            cachedField.serializer = serializer = kryo.getRegistration(cachedField.fieldClass).getSerializer();
          if (!cachedField.canBeNull)
            kryo.writeObject(outputChunked, value, serializer);
          else
            kryo.writeObjectOrNull(outputChunked, value, serializer);
        }

        outputChunked.endChunks();
      } catch (IllegalAccessException ex) {
        throw new KryoException("Error accessing field in class: " + object.getClass().getName(), ex);
      } catch (KryoException ex) {
        ex.addTrace(cachedField + " (" + object.getClass().getName() + ")");
        throw ex;
View Full Code Here

      output.writeInt(fields.length, true);
      for (int i = 0, n = fields.length; i < n; i++)
        output.writeString(fields[i].field.getName());
    }

    OutputChunked outputChunked = new OutputChunked(output, 1024);
    for (int i = 0, n = fields.length; i < n; i++) {
      fields[i].write(outputChunked, object);
      outputChunked.endChunks();
    }
  }
View Full Code Here

  public DeflateSerializer (Serializer serializer) {
    this.serializer = serializer;
  }

  public void write (Kryo kryo, Output output, Object object) {
    OutputChunked outputChunked = new OutputChunked(output, 256);
    Deflater deflater = new Deflater(compressionLevel, noHeaders);
    try {
      DeflaterOutputStream deflaterStream = new DeflaterOutputStream(outputChunked, deflater);
      Output deflaterOutput = new Output(deflaterStream, 256);
      serializer.write(kryo, deflaterOutput, object);
      deflaterOutput.flush();
      deflaterStream.finish();
    } catch (IOException ex) {
      throw new KryoException(ex);
    } finally {
      deflater.end();
    }
    outputChunked.endChunks();
  }
View Full Code Here

      output.writeVarInt(fields.length, true);
      for (int i = 0, n = fields.length; i < n; i++)
        output.writeString(fields[i].field.getName());
    }

    OutputChunked outputChunked = new OutputChunked(output, 1024);
    for (int i = 0, n = fields.length; i < n; i++) {
      fields[i].write(outputChunked, object);
      outputChunked.endChunks();
    }
  }
View Full Code Here

      output.writeInt(fields.length, true);
      for (int i = 0, n = fields.length; i < n; i++)
        output.writeString(fields[i].field.getName());
    }

    OutputChunked outputChunked = new OutputChunked(output, 1024);
    for (int i = 0, n = fields.length; i < n; i++) {
      fields[i].write(outputChunked, object);
      outputChunked.endChunks();
    }
  }
View Full Code Here

TOP

Related Classes of com.esotericsoftware.kryo.io.OutputChunked

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.