From fbd1ad520352b6aaa861af2468f8914880a12032 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Wed, 6 Oct 2021 06:40:23 +0200 Subject: Attach context --- .../com/yahoo/container/jdisc/ThreadedRequestHandler.java | 2 +- .../yahoo/jdisc/http/server/jetty/FormPostRequestHandler.java | 2 +- .../http/server/jetty/ReferenceCountingRequestHandler.java | 11 ++++++++--- .../src/main/java/com/yahoo/jdisc/ProxyRequestHandler.java | 11 ++++++++--- jdisc_core/src/main/java/com/yahoo/jdisc/Request.java | 2 +- .../src/main/java/com/yahoo/jdisc/core/ContainerSnapshot.java | 5 +++++ .../main/java/com/yahoo/jdisc/core/TimeoutManagerImpl.java | 5 +++++ .../java/com/yahoo/jdisc/handler/ThreadedRequestHandler.java | 2 +- 8 files changed, 30 insertions(+), 10 deletions(-) diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedRequestHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedRequestHandler.java index 446ee90c205..ea686b7b956 100644 --- a/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedRequestHandler.java +++ b/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedRequestHandler.java @@ -174,7 +174,7 @@ public abstract class ThreadedRequestHandler extends AbstractRequestHandler { RequestTask(Request request, BufferedContentChannel content, ResponseHandler responseHandler) { this.request = request; - this.requestReference = request.refer(); + this.requestReference = request.refer(this); this.content = content; this.responseHandler = responseHandler; } diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/FormPostRequestHandler.java b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/FormPostRequestHandler.java index 57fb32f89f0..5ee4434fd84 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/FormPostRequestHandler.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/FormPostRequestHandler.java @@ -72,7 +72,7 @@ class FormPostRequestHandler extends AbstractRequestHandler implements ContentCh this.contentCharset = getCharsetByName(contentCharsetName); this.responseHandler = responseHandler; this.request = (HttpRequest) request; - this.requestReference = request.refer(); + this.requestReference = request.refer(this); return this; } diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ReferenceCountingRequestHandler.java b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ReferenceCountingRequestHandler.java index 71cca62ce9c..00f8fa5140a 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ReferenceCountingRequestHandler.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ReferenceCountingRequestHandler.java @@ -70,6 +70,11 @@ class ReferenceCountingRequestHandler implements DelegatedRequestHandler { return delegate.refer(); } + @Override + public ResourceReference refer(Object context) { + return delegate.refer(context); + } + @Override public void release() { delegate.release(); @@ -97,7 +102,7 @@ class ReferenceCountingRequestHandler implements DelegatedRequestHandler { Objects.requireNonNull(delegate, "delegate"); this.request = request; this.delegate = delegate; - this.requestReference = request.refer(); + this.requestReference = request.refer(this); } @Override @@ -143,7 +148,7 @@ class ReferenceCountingRequestHandler implements DelegatedRequestHandler { Objects.requireNonNull(delegate, "delegate"); this.request = request; this.delegate = delegate; - this.requestReference = request.refer(); + this.requestReference = request.refer(this); } @Override @@ -200,7 +205,7 @@ class ReferenceCountingRequestHandler implements DelegatedRequestHandler { public ReferenceCountingCompletionHandler(SharedResource request, CompletionHandler delegate) { this.delegate = delegate; - this.requestReference = request.refer(); + this.requestReference = request.refer(this); } @Override diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/ProxyRequestHandler.java b/jdisc_core/src/main/java/com/yahoo/jdisc/ProxyRequestHandler.java index 6e385535e40..4e9e45f2f6e 100644 --- a/jdisc_core/src/main/java/com/yahoo/jdisc/ProxyRequestHandler.java +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/ProxyRequestHandler.java @@ -62,6 +62,11 @@ class ProxyRequestHandler implements DelegatedRequestHandler { return delegate.refer(); } + @Override + public ResourceReference refer(Object context) { + return delegate.refer(context); + } + @Override public void release() { delegate.release(); @@ -89,7 +94,7 @@ class ProxyRequestHandler implements DelegatedRequestHandler { Objects.requireNonNull(delegate, "delegate"); this.request = request; this.delegate = delegate; - this.requestReference = request.refer(); + this.requestReference = request.refer(this); } @Override @@ -121,7 +126,7 @@ class ProxyRequestHandler implements DelegatedRequestHandler { Objects.requireNonNull(delegate, "delegate"); this.request = request; this.delegate = delegate; - this.requestReference = request.refer(); + this.requestReference = request.refer(this); } @Override @@ -169,7 +174,7 @@ class ProxyRequestHandler implements DelegatedRequestHandler { public ProxyCompletionHandler(SharedResource request, CompletionHandler delegate) { this.delegate = delegate; - this.requestReference = request.refer(); + this.requestReference = request.refer(this); } @Override diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/Request.java b/jdisc_core/src/main/java/com/yahoo/jdisc/Request.java index eeb787e59dd..a6e6e734e6f 100644 --- a/jdisc_core/src/main/java/com/yahoo/jdisc/Request.java +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/Request.java @@ -121,7 +121,7 @@ public class Request extends AbstractResource { creationTime = parent.container().currentTimeMillis(); serverRequest = false; setUri(uri); - parentReference = this.parent.refer(); + parentReference = this.parent.refer(this); } /** Returns the {@link Container} for which this Request was created */ diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/ContainerSnapshot.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/ContainerSnapshot.java index becfa94e71f..33bec0ec6dc 100644 --- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/ContainerSnapshot.java +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/ContainerSnapshot.java @@ -100,6 +100,11 @@ class ContainerSnapshot extends AbstractResource implements Container { return delegate.refer(); } + @Override + public ResourceReference refer(Object context) { + return delegate.refer(context); + } + @Override public void release() { delegate.release(); diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/TimeoutManagerImpl.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/TimeoutManagerImpl.java index a6d6e32df06..33ed23c9eee 100644 --- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/TimeoutManagerImpl.java +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/TimeoutManagerImpl.java @@ -144,6 +144,11 @@ public class TimeoutManagerImpl { return delegate.refer(); } + @Override + public ResourceReference refer(Object context) { + return delegate.refer(context); + } + @Override public void release() { delegate.release(); diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/handler/ThreadedRequestHandler.java b/jdisc_core/src/main/java/com/yahoo/jdisc/handler/ThreadedRequestHandler.java index 6e2895f118b..97e68c72658 100644 --- a/jdisc_core/src/main/java/com/yahoo/jdisc/handler/ThreadedRequestHandler.java +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/handler/ThreadedRequestHandler.java @@ -150,7 +150,7 @@ public abstract class ThreadedRequestHandler extends AbstractRequestHandler { this.request = request; this.content = content; this.responseHandler = responseHandler; - this.requestReference = request.refer(); + this.requestReference = request.refer(this); } @Override -- cgit v1.2.3 From b8941366a4540297e3bc725737b36f939d2750a9 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Wed, 6 Oct 2021 06:44:02 +0200 Subject: Attach context --- jdisc_core/src/main/java/com/yahoo/jdisc/NoopSharedResource.java | 4 ++++ jdisc_core/src/main/java/com/yahoo/jdisc/SharedResource.java | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/NoopSharedResource.java b/jdisc_core/src/main/java/com/yahoo/jdisc/NoopSharedResource.java index 7f4fe96d769..214840aab63 100644 --- a/jdisc_core/src/main/java/com/yahoo/jdisc/NoopSharedResource.java +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/NoopSharedResource.java @@ -12,6 +12,10 @@ public class NoopSharedResource implements SharedResource { public final ResourceReference refer() { return References.NOOP_REFERENCE; } + @Override + public final ResourceReference refer(Object context) { + return References.NOOP_REFERENCE; + } @Override public final void release() { diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/SharedResource.java b/jdisc_core/src/main/java/com/yahoo/jdisc/SharedResource.java index dee0f8ee410..70bfec36a26 100644 --- a/jdisc_core/src/main/java/com/yahoo/jdisc/SharedResource.java +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/SharedResource.java @@ -52,7 +52,9 @@ public interface SharedResource { * * @see ResourceReference#close() */ - ResourceReference refer(); + default ResourceReference refer() { + return refer(null); + } /** *

Creates a reference to this resource. You call this method to prevent an object from being -- cgit v1.2.3