Sync Reactor SignalEmitter
This commit is contained in:
parent
04f47da15e
commit
4e8c21e85a
|
|
@ -30,7 +30,7 @@ import org.reactivestreams.Subscriber;
|
|||
import org.reactivestreams.Subscription;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.FluxSource;
|
||||
import reactor.core.publisher.GenerateOutput;
|
||||
import reactor.core.subscriber.SignalEmitter;
|
||||
|
||||
import org.springframework.core.io.buffer.DataBuffer;
|
||||
import org.springframework.core.io.buffer.DataBufferAllocator;
|
||||
|
|
@ -175,7 +175,7 @@ public abstract class DataBufferUtils {
|
|||
}
|
||||
|
||||
private static class ReadableByteChannelGenerator
|
||||
implements BiFunction<ReadableByteChannel, GenerateOutput<DataBuffer>,
|
||||
implements BiFunction<ReadableByteChannel, SignalEmitter<DataBuffer>,
|
||||
ReadableByteChannel> {
|
||||
|
||||
private final DataBufferAllocator allocator;
|
||||
|
|
@ -189,7 +189,7 @@ public abstract class DataBufferUtils {
|
|||
|
||||
@Override
|
||||
public ReadableByteChannel apply(ReadableByteChannel
|
||||
channel, GenerateOutput<DataBuffer> sub) {
|
||||
channel, SignalEmitter<DataBuffer> sub) {
|
||||
try {
|
||||
ByteBuffer byteBuffer = ByteBuffer.allocate(chunkSize);
|
||||
int read;
|
||||
|
|
@ -200,7 +200,7 @@ public abstract class DataBufferUtils {
|
|||
try {
|
||||
dataBuffer.write(byteBuffer);
|
||||
release = false;
|
||||
sub.onNext(dataBuffer);
|
||||
sub.emit(dataBuffer);
|
||||
}
|
||||
finally {
|
||||
if (release) {
|
||||
|
|
@ -209,11 +209,11 @@ public abstract class DataBufferUtils {
|
|||
}
|
||||
}
|
||||
else {
|
||||
sub.onComplete();
|
||||
sub.complete();
|
||||
}
|
||||
}
|
||||
catch (IOException ex) {
|
||||
sub.onError(ex);
|
||||
sub.fail(ex);
|
||||
}
|
||||
return channel;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -110,9 +110,9 @@ public class ChannelSendOperatorTests {
|
|||
IllegalStateException error = new IllegalStateException("boo");
|
||||
Flux<String> publisher = Flux.generate(() -> 0, (idx , subscriber) -> {
|
||||
int i = ++idx;
|
||||
subscriber.onNext(String.valueOf(i));
|
||||
subscriber.tryEmit(String.valueOf(i));
|
||||
if (i == 3) {
|
||||
subscriber.onError(error);
|
||||
subscriber.fail(error);
|
||||
}
|
||||
return i;
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue