private void cacheDelta(ObjectToPack srcObj, ObjectToPack resObj) { if (deltaCache.canCache(deltaLen, srcObj, resObj)) { try { byte[] zbuf = new byte[deflateBound(deltaLen)]; ZipStream zs = new ZipStream(deflater(), zbuf); if (deltaBuf instanceof byte[]) zs.write((byte[]) deltaBuf, 0, deltaLen); else ((TemporaryBuffer.Heap) deltaBuf).writeTo(zs, null); deltaBuf = null; int len = zs.finish(); resObj.setCachedDelta(deltaCache.cache(zbuf, len, deltaLen)); resObj.setCachedSize(deltaLen); } catch (IOException err) { deltaCache.credit(deltaLen); } catch (OutOfMemoryError err) { deltaCache.credit(deltaLen); } } }
private void cacheDelta(ObjectToPack srcObj, ObjectToPack resObj) { if (deltaCache.canCache(deltaLen, srcObj, resObj)) { try { byte[] zbuf = new byte[deflateBound(deltaLen)]; ZipStream zs = new ZipStream(deflater(), zbuf); if (deltaBuf instanceof byte[]) zs.write((byte[]) deltaBuf, 0, deltaLen); else ((TemporaryBuffer.Heap) deltaBuf).writeTo(zs, null); deltaBuf = null; int len = zs.finish(); resObj.setCachedDelta(deltaCache.cache(zbuf, len, deltaLen)); resObj.setCachedSize(deltaLen); } catch (IOException err) { deltaCache.credit(deltaLen); } catch (OutOfMemoryError err) { deltaCache.credit(deltaLen); } } }
private void cacheDelta(ObjectToPack srcObj, ObjectToPack resObj) { if (deltaCache.canCache(deltaLen, srcObj, resObj)) { try { byte[] zbuf = new byte[deflateBound(deltaLen)]; ZipStream zs = new ZipStream(deflater(), zbuf); if (deltaBuf instanceof byte[]) zs.write((byte[]) deltaBuf, 0, deltaLen); else ((TemporaryBuffer.Heap) deltaBuf).writeTo(zs, null); deltaBuf = null; int len = zs.finish(); resObj.setCachedDelta(deltaCache.cache(zbuf, len, deltaLen)); resObj.setCachedSize(deltaLen); } catch (IOException err) { deltaCache.credit(deltaLen); } catch (OutOfMemoryError err) { deltaCache.credit(deltaLen); } } }