|
|
@ -246,7 +246,15 @@ class ChannelSendOperator<T> extends Mono<Void> implements Scannable { |
|
|
|
else if (this.state == State.NEW) { |
|
|
|
else if (this.state == State.NEW) { |
|
|
|
this.completed = true; |
|
|
|
this.completed = true; |
|
|
|
this.state = State.FIRST_SIGNAL_RECEIVED; |
|
|
|
this.state = State.FIRST_SIGNAL_RECEIVED; |
|
|
|
writeFunction.apply(this).subscribe(this.writeCompletionBarrier); |
|
|
|
Publisher<Void> result; |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
result = writeFunction.apply(this); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
catch (Throwable ex) { |
|
|
|
|
|
|
|
this.writeCompletionBarrier.onError(ex); |
|
|
|
|
|
|
|
return; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
result.subscribe(this.writeCompletionBarrier); |
|
|
|
} |
|
|
|
} |
|
|
|
else { |
|
|
|
else { |
|
|
|
this.completed = true; |
|
|
|
this.completed = true; |
|
|
|