package org.infinispan.client.hotrod.impl.protocol; import java.util.concurrent.TimeUnit; import org.infinispan.client.hotrod.impl.transport.Transport; import org.infinispan.client.hotrod.marshall.MarshallerUtil; import org.infinispan.commons.marshall.Marshaller; /** * @author gustavonalle * @since 8.0 */ public final class CodecUtils { private CodecUtils() { } public static boolean isIntCompatible(long value) { int narrowed = (int) value; return narrowed == value; } public static int toSeconds(long duration, TimeUnit timeUnit) { int seconds = (int) timeUnit.toSeconds(duration); long inverseDuration = timeUnit.convert(seconds, TimeUnit.SECONDS); if (duration > inverseDuration) { //Round up. seconds++; } return seconds; } static <T> T readUnmarshallByteArray(Transport transport, short status) { byte[] bytes = transport.readArray(); Marshaller marshaller = transport.getTransportFactory().getMarshaller(); return MarshallerUtil.bytes2obj(marshaller, bytes, status); } }