Stephane Maldini
Stephane Maldini
Channel.write adds an extra stack line and might evolve in Netty 5 to be fully dispatched to eventLoop. ChannelContextHandler will be safe when called from a netty event loop. Part...
Currently we loosely use lambda ( " -> ") in many places but we should carefully review what references are we keeping doing so. For instance a simple `eventLoop.execute(() ->...
since #741 has been fixed, we need to revisit how to prevent subscribing to passed publisher for prematurely cancelled flows: The fix is deferring the cancel therefore the Publisher.subscribe can...
To reuse blueprint fluxes/monos we should be able to defer the source "materialization" at the end using Context facilities like this: ```java Flux blueprint = Flux.fromContext(DataType.class, /* opt */ "contextKey")...
Distribute the sequence onto N transformable `Publisher` that can be eventually joined back. Ex : ``` java stream.partition(6).dispatchOn(ForkJoinPool.commonPool()).map(service::blockingTask).merge() ``` Supported PartitionPublisher operator : - All PublisherBase - merge() - concat()...
`Backpressurable#getCapacity` can be a useful tool to detect if the source `Publisher` is a `Completable` (0), `Single` (1), `Unbounded` (Long.MAX), `Bounded` (N > 1 && < Integer.MAX) or `Mixed` (-1)...
Currently written with a combination of 2 or 3 operators, timed microbatch like `stream.window(10, () -> PublisherBase.timer(....))` or `stream.buffer(10, () -> PublisherBase.timer(....))` would be useful.
IndexedQueue usually work with volatile consumer indices. We could define a convention to "batch" increment this index by doing it once at the end of drain loops instead of using...