src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/PushGroup.java
branchhttp-client-branch
changeset 56062 48afabd2de78
parent 56020 ae3a51bc5b9f
equal deleted inserted replaced
56061:6d6290b1176f 56062:48afabd2de78
   104     Acceptor<T> acceptPushRequest(HttpRequest pushRequest) {
   104     Acceptor<T> acceptPushRequest(HttpRequest pushRequest) {
   105         AcceptorImpl<T> acceptor = new AcceptorImpl<>();
   105         AcceptorImpl<T> acceptor = new AcceptorImpl<>();
   106 
   106 
   107         pushPromiseHandler.applyPushPromise(initiatingRequest, pushRequest, acceptor::accept);
   107         pushPromiseHandler.applyPushPromise(initiatingRequest, pushRequest, acceptor::accept);
   108 
   108 
   109         if (acceptor.accepted()) {
   109         synchronized (this) {
   110             if (acceptor.bodyHandler instanceof UntrustedBodyHandler) {
   110             if (acceptor.accepted()) {
   111                 ((UntrustedBodyHandler)acceptor.bodyHandler).setAccessControlContext(acc);
   111                 if (acceptor.bodyHandler instanceof UntrustedBodyHandler) {
       
   112                     ((UntrustedBodyHandler) acceptor.bodyHandler).setAccessControlContext(acc);
       
   113                 }
       
   114                 numberOfPushes++;
       
   115                 remainingPushes++;
   112             }
   116             }
   113             numberOfPushes++;
   117             return acceptor;
   114             remainingPushes++;
       
   115         }
   118         }
   116         return acceptor;
       
   117 
       
   118     }
   119     }
   119 
   120 
   120     // This is called when the main body response completes because it means
   121     // This is called when the main body response completes because it means
   121     // no more PUSH_PROMISEs are possible
   122     // no more PUSH_PROMISEs are possible
   122 
   123 
   124         noMorePushes = noMore;
   125         noMorePushes = noMore;
   125         checkIfCompleted();
   126         checkIfCompleted();
   126         noMorePushesCF.complete(null);
   127         noMorePushesCF.complete(null);
   127     }
   128     }
   128 
   129 
   129     CompletableFuture<Void> pushesCF() {
   130     synchronized CompletableFuture<Void> pushesCF() {
   130         return noMorePushesCF;
   131         return noMorePushesCF;
   131     }
   132     }
   132 
   133 
   133     synchronized boolean noMorePushes() {
   134     synchronized boolean noMorePushes() {
   134         return noMorePushes;
   135         return noMorePushes;