public ReferenceCountingCompletionHandler(SharedResource request, CompletionHandler delegate) { this.delegate = delegate; this.requestReference = request.refer(); }
@Override public void close() { resource.release(); } };
public ProxyCompletionHandler(SharedResource request, CompletionHandler delegate) { this.delegate = delegate; this.requestReference = request.refer(); }
@Override public void deconstruct(Object component) { if (component instanceof AbstractComponent) { AbstractComponent abstractComponent = (AbstractComponent) component; if (abstractComponent.isDeconstructable()) { executor.schedule(new DestructComponentTask(abstractComponent), delay.getSeconds(), TimeUnit.SECONDS); } } else if (component instanceof Provider) { // TODO Providers should most likely be deconstructed similarily to AbstractComponent log.info("Starting deconstruction of provider " + component); ((Provider<?>)component).deconstruct(); log.info("Finished deconstruction of provider " + component); } else if (component instanceof SharedResource) { log.info("Releasing container reference to resource " + component); // No need to delay release, as jdisc does ref-counting ((SharedResource)component).release(); } }
ProxyResponseHandler(SharedResource request, ResponseHandler delegate) { Objects.requireNonNull(request, "request"); Objects.requireNonNull(delegate, "delegate"); this.request = request; this.delegate = delegate; this.requestReference = request.refer(); }
ReferenceCountingContentChannel(SharedResource request, ContentChannel delegate) { Objects.requireNonNull(request, "request"); Objects.requireNonNull(delegate, "delegate"); this.request = request; this.delegate = delegate; this.requestReference = request.refer(); }
/** * <p>Retains and adds the given {@link SharedResource} to this ResourcePool. Note that this DOES call {@link * SharedResource#refer()}, as opposed to {@link #add(SharedResource)}. * * <p>When this ResourcePool is destroyed, it will release the resource reference returned by the * {@link SharedResource#refer()} call.</p> * * @param t The SharedResource to retain and add. * @param <T> The class of parameter <code>t</code>. * @return The parameter <code>t</code>, to allow inlined calls to this function. */ public <T extends SharedResource> T retain(T t) { resources.add(t.refer()); return t; }
ProxyContentChannel(SharedResource request, ContentChannel delegate) { Objects.requireNonNull(request, "request"); Objects.requireNonNull(delegate, "delegate"); this.request = request; this.delegate = delegate; this.requestReference = request.refer(); }
ReferenceCountingResponseHandler(SharedResource request, ResponseHandler delegate) { Objects.requireNonNull(request, "request"); Objects.requireNonNull(delegate, "delegate"); this.request = request; this.delegate = delegate; this.requestReference = request.refer(); }