reactor-core/src/main/java/reactor/core/publisher/MonoProcessor.java
@Override
	@Nullable
	public O block(Duration timeout) {
		long delay = System.nanoTime() + timeout.toNanos();
		Runnable spinObserver = () -> {
			if (delay < System.nanoTime()) {
				WaitStrategy.alert();
			}
		};
		return block(spinObserver);
	}
@Override
	@Nullable
	public O block(Duration timeout) {
		long delay = System.nanoTime() + timeout.toNanos();
		Runnable spinObserver = () -> {
			if (delay < System.nanoTime()) {
				WaitStrategy.alert();
			}
		};
		return block(spinObserver);
	}
@ Override @ Nullable public O block ( Duration timeout ) { long delay = System . nanoTime ( ) + timeout . toNanos ( ) ; Runnable spinObserver = ( ) -> { if ( delay < System . nanoTime ( ) ) { WaitStrategy . alert ( ) ; } } ; return block ( spinObserver ) ; }
Block the calling thread for the specified time, waiting for the completion of this {@code MonoProcessor}. If the
{@link MonoProcessor} is completed with an error a RuntimeException that wraps the error is thrown.

@param timeout the timeout value as a {@link Duration}

@return the value of this {@code MonoProcessor} or {@code null} if the timeout is reached and the {@code MonoProcessor} has
not completed
Block the calling thread for the specified time waiting for the completion of this { @code MonoProcessor } . If the { @link MonoProcessor } is completed with an error a RuntimeException that wraps the error is thrown .