// Copyright © 2011-2014, Esko Luontola <www.orfjackal.net> // This software is released under the Apache License 2.0. // The license text is at http://www.apache.org/licenses/LICENSE-2.0 package fi.jumi.core.ipc; import fi.jumi.core.ipc.buffer.*; public class TestUtil { public static <T> T serializeAndDeserialize(T original, WriteOp<T> writeOp, ReadOp<T> readOp) { IpcBuffer buffer = newIpcBuffer(); writeOp.write(buffer, original); buffer.position(0); return readOp.read(buffer); } public static IpcBuffer newIpcBuffer() { return new IpcBuffer(new AllocatedByteBufferSequence(100, 30 * 1000)); } public interface WriteOp<T> { void write(IpcBuffer target, T data); } public interface ReadOp<T> { T read(IpcBuffer source); } }