/** * Creates {@link FileCacheEntry}. */ private FileCacheEntry createEntry(final File file) { FileCacheEntry entry = tryMapFileToBuffer(file); if (entry == null) { entry = new FileCacheEntry(this); entry.type = CacheType.FILE; } entry.plainFile = file; entry.plainFileSize = file.length(); return entry; }
@Override public boolean doWork(final FileCacheEntry element) { element.run(); return true; } }
private NextAction sendFileUsingBuffers(final FilterChainContext ctx, final HttpResponsePacket response, final FileCacheEntry cacheEntry, final boolean isServeCompressed) { try { final FileSendEntry sendEntry = FileSendEntry.create(ctx, response, cacheEntry.getFile(isServeCompressed), cacheEntry.getFileSize(isServeCompressed)); ctx.suspend(); sendEntry.send(); return ctx.getSuspendAction(); } catch (IOException e) { } // FAILURE return ctx.getInvokeAction(); }
cacheEntry.canServeCompressed(request); cacheEntry.getByteBuffer(isServeCompressed).duplicate());
if (cacheFile != null) { // If we have a file - try to create File-aware cache resource entry = createEntry(cacheFile); entry.setCanBeCompressed(canBeCompressed(cacheFile, contentType)); } else { entry = new FileCacheEntry(this); entry.type = CacheType.TIMESTAMP;
@Override public void onEntryRemovedEvent(final FileCache fileCache, final FileCacheEntry entry) { grizzlyMonitoring.getFileCacheProbeProvider().decOpenCacheEntriesEvent(monitoringId); switch (entry.type) { case HEAP: { grizzlyMonitoring.getFileCacheProbeProvider().subHeapSizeEvent(monitoringId, entry.getFileSize(false)); break; } case MAPPED: { grizzlyMonitoring.getFileCacheProbeProvider().subMappedMemorySizeEvent(monitoringId, entry.getFileSize(false)); break; } default: { throw new IllegalStateException("Unexpected type: " + entry.type); } } }
private NextAction sendFileUsingBuffers(final FilterChainContext ctx, final HttpResponsePacket response, final FileCacheEntry cacheEntry, final boolean isServeCompressed) { try { final FileSendEntry sendEntry = FileSendEntry.create(ctx, response, cacheEntry.getFile(isServeCompressed), cacheEntry.getFileSize(isServeCompressed)); ctx.suspend(); sendEntry.send(); return ctx.getSuspendAction(); } catch (IOException e) { } // FAILURE return ctx.getInvokeAction(); }
cacheEntry.canServeCompressed(request); cacheEntry.getByteBuffer(isServeCompressed).duplicate());
if (cacheFile != null) { // If we have a file - try to create File-aware cache resource entry = createEntry(cacheFile); entry.setCanBeCompressed(canBeCompressed(cacheFile, contentType)); } else { entry = new FileCacheEntry(this); entry.type = CacheType.TIMESTAMP;
@Override public void onEntryAddedEvent(final FileCache fileCache, final FileCacheEntry entry) { grizzlyMonitoring.getFileCacheProbeProvider().incOpenCacheEntriesEvent(monitoringId); switch (entry.type) { case HEAP: { grizzlyMonitoring.getFileCacheProbeProvider().addHeapSizeEvent(monitoringId, entry.getFileSize(false)); break; } case MAPPED: { grizzlyMonitoring.getFileCacheProbeProvider().addMappedMemorySizeEvent(monitoringId, entry.getFileSize(false)); break; } default: { throw new IllegalStateException("Unexpected type: " + entry.type); } } }
private NextAction sendFileUsingBuffers(final FilterChainContext ctx, final HttpResponsePacket response, final FileCacheEntry cacheEntry, final boolean isServeCompressed) { try { final FileSendEntry sendEntry = FileSendEntry.create(ctx, response, cacheEntry.getFile(isServeCompressed), cacheEntry.getFileSize(isServeCompressed)); ctx.suspend(); sendEntry.send(); return ctx.getSuspendAction(); } catch (IOException e) { } // FAILURE return ctx.getInvokeAction(); }
cacheEntry.canServeCompressed(request); cacheEntry.getByteBuffer(isServeCompressed).duplicate());
if (cacheFile != null) { // If we have a file - try to create File-aware cache resource entry = createEntry(cacheFile); entry.setCanBeCompressed(canBeCompressed(cacheFile, contentType)); } else { entry = new FileCacheEntry(this); entry.type = CacheType.TIMESTAMP;
/** * Creates {@link FileCacheEntry}. */ private FileCacheEntry createEntry(final File file) { FileCacheEntry entry = tryMapFileToBuffer(file); if (entry == null) { entry = new FileCacheEntry(this); entry.type = CacheType.FILE; } entry.plainFile = file; entry.plainFileSize = file.length(); return entry; }
/** * Prepare response with payload headers. */ private void prepareResponseWithPayload(final FileCacheEntry entry, final HttpResponsePacket response, final boolean isServeCompressed) throws IOException { response.addHeader(Header.ETag, entry.Etag); response.addHeader(Header.LastModified, entry.lastModifiedHeader); response.setContentLengthLong(entry.getFileSize(isServeCompressed)); if (isServeCompressed) { response.addHeader(Header.ContentEncoding, "gzip"); } }
@Override public boolean doWork(final FileCacheEntry element) { element.run(); return true; } }
private NextAction sendFileUsingBuffers(final FilterChainContext ctx, final HttpResponsePacket response, final FileCacheEntry cacheEntry, final boolean isServeCompressed) { try { final FileSendEntry sendEntry = FileSendEntry.create(ctx, response, cacheEntry.getFile(isServeCompressed), cacheEntry.getFileSize(isServeCompressed)); ctx.suspend(); sendEntry.send(); return ctx.getSuspendAction(); } catch (IOException e) { } // FAILURE return ctx.getInvokeAction(); }
cacheEntry.canServeCompressed(request); cacheEntry.getByteBuffer(isServeCompressed).duplicate());
if (cacheFile != null) { // If we have a file - try to create File-aware cache resource entry = createEntry(cacheFile); entry.setCanBeCompressed(canBeCompressed(cacheFile, contentType)); } else { entry = new FileCacheEntry(this); entry.type = CacheType.TIMESTAMP;
/** * Creates {@link FileCacheEntry}. */ private FileCacheEntry createEntry(final File file) { FileCacheEntry entry = tryMapFileToBuffer(file); if (entry == null) { entry = new FileCacheEntry(this); entry.type = CacheType.FILE; } entry.plainFile = file; entry.plainFileSize = file.length(); return entry; }