@ -47,6 +47,7 @@ import org.junit.jupiter.api.AfterEach;
@@ -47,6 +47,7 @@ import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test ;
import reactor.core.publisher.Mono ;
import reactor.core.publisher.MonoProcessor ;
import reactor.core.publisher.Sinks ;
import reactor.netty.NettyPipeline ;
import reactor.netty.http.client.HttpClient ;
import reactor.test.StepVerifier ;
@ -507,7 +508,7 @@ public abstract class AbstractReactiveWebServerFactoryTests {
@@ -507,7 +508,7 @@ public abstract class AbstractReactiveWebServerFactoryTests {
protected static class BlockingHandler implements HttpHandler {
private final BlockingQueue < MonoProcessor < Void > > monoP rocessors = new ArrayBlockingQueue < > ( 10 ) ;
private final BlockingQueue < MonoProcessor < Void > > p rocessors = new ArrayBlockingQueue < > ( 10 ) ;
private volatile boolean blocking = true ;
@ -518,16 +519,16 @@ public abstract class AbstractReactiveWebServerFactoryTests {
@@ -518,16 +519,16 @@ public abstract class AbstractReactiveWebServerFactoryTests {
@Override
public Mono < Void > handle ( ServerHttpRequest request , ServerHttpResponse response ) {
if ( this . blocking ) {
MonoProcessor < Void > completion = MonoProcessor . creat e( ) ;
this . monoP rocessors. add ( completion ) ;
return completion . then ( Mono . empty ( ) ) ;
Sinks . One < Void > completion = Sinks . on e( ) ;
this . p rocessors. add ( MonoProcessor . fromSink ( completion ) ) ;
return completion . asMono ( ) . then ( Mono . empty ( ) ) ;
}
return Mono . empty ( ) ;
}
public void completeOne ( ) {
try {
MonoProcessor < Void > processor = this . monoP rocessors. take ( ) ;
MonoProcessor < Void > processor = this . p rocessors. take ( ) ;
processor . onComplete ( ) ;
}
catch ( InterruptedException ex ) {
@ -536,14 +537,14 @@ public abstract class AbstractReactiveWebServerFactoryTests {
@@ -536,14 +537,14 @@ public abstract class AbstractReactiveWebServerFactoryTests {
}
public void awaitQueue ( ) throws InterruptedException {
while ( this . monoP rocessors. isEmpty ( ) ) {
while ( this . p rocessors. isEmpty ( ) ) {
Thread . sleep ( 100 ) ;
}
}
public void stopBlocking ( ) {
this . blocking = false ;
this . monoP rocessors. forEach ( MonoProcessor : : onComplete ) ;
this . p rocessors. forEach ( MonoProcessor : : onComplete ) ;
}
}