package com.tinkerpop.rexster.gremlin.converter;
import com.tinkerpop.rexster.protocol.serializer.msgpack.templates.ResultsConverter;
import org.msgpack.MessagePack;
import org.msgpack.packer.BufferPacker;
/**
* Converts a result from Gremlin to a byte array encoded by MsgPack.
*
* @author Blake Eggleston (bdeggleston.github.com)
*/
public class MsgPackResultConverter implements ResultConverter<byte[]> {
private final MessagePack msgpack = new MessagePack();
public byte[] convert(final Object result) throws Exception {
final BufferPacker packer = msgpack.createBufferPacker(1024);
try {
ResultsConverter.serializeObject(result, packer);
return packer.toByteArray();
} catch (Exception e) {
throw e;
} finally {
packer.close();
}
}
}