Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revisit write operations #725

Merged
merged 17 commits into from
May 6, 2019
Merged

Revisit write operations #725

merged 17 commits into from
May 6, 2019

Conversation

smaldini
Copy link
Contributor

@smaldini smaldini commented May 1, 2019

Fix #572 - #654

  • send(Publisher) : supports fusion, Mono, flush on write burst. Flush API will be revisited in 0.9
  • Interleaving send(Publisher) is now possible, avoiding livelock with recursive send/write. Use a single send with a Processor to serialize multiple sends.
  • HTTP send(Publisher) if Mono, a content length header will be automatically used and the response will be flushed as once by default, consistent with the client Get and Head requests as of now. If chunked transfer is still expected, use of Flux instead of Mono is necessary.
  • default TCP options have been tuned down and smaller sndbuf/rcvbuf will result

Stephane Maldini added 14 commits April 30, 2019 23:54
Move Publisher to Write in send operators
Derive a new MonoSend from RSocket SendPublisher
Improve send(Mono) and sendObject(Mono) support
Tweak content-length/chunk encoding support
Small improvements to MonoSendMany
Remove unnecessary outbound code
Improve MonoSendMany - still WIP (too many flushes)
Remove explicit flushOnBoundary
remove unused transferEncoding path for HttpClientOps#sendObject
@smaldini smaldini added this to the 0.8.7.RELEASE milestone May 1, 2019
@smaldini smaldini added the type/enhancement A general enhancement label May 1, 2019
@codecov-io
Copy link

codecov-io commented May 1, 2019

Codecov Report

Merging #725 into 0.8.x will increase coverage by 0.23%.
The diff coverage is 72.72%.

Impacted file tree graph

@@             Coverage Diff              @@
##              0.8.x     #725      +/-   ##
============================================
+ Coverage     65.73%   65.96%   +0.23%     
+ Complexity     1401     1362      -39     
============================================
  Files           130      132       +2     
  Lines          6624     6353     -271     
  Branches        889      834      -55     
============================================
- Hits           4354     4191     -163     
+ Misses         1774     1716      -58     
+ Partials        496      446      -50
Impacted Files Coverage Δ Complexity Δ
src/main/java/reactor/netty/NettyPipeline.java 100% <ø> (ø) 1 <0> (ø) ⬇️
.../reactor/netty/http/server/HttpServerResponse.java 100% <ø> (ø) 3 <0> (-1) ⬇️
...eactor/netty/http/websocket/WebsocketOutbound.java 100% <ø> (ø) 2 <0> (-1) ⬇️
...r/netty/http/client/WebsocketClientOperations.java 67.05% <0%> (-0.8%) 19 <0> (ø)
src/main/java/reactor/netty/FutureMono.java 54.28% <0%> (-14.89%) 4 <0> (-4)
...eactor/netty/http/server/HttpServerOperations.java 72.36% <100%> (+2.76%) 62 <2> (+3) ⬆️
...reactor/netty/http/client/HttpClientFinalizer.java 92.3% <100%> (ø) 22 <1> (ø) ⬇️
...r/netty/http/server/WebsocketServerOperations.java 64.63% <100%> (+1.21%) 20 <1> (+2) ⬆️
src/main/java/reactor/netty/udp/UdpServer.java 47.36% <100%> (-2.64%) 22 <0> (ø)
src/main/java/reactor/netty/NettyOutbound.java 81.25% <100%> (-2.09%) 18 <1> (-2)
... and 22 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a81b4b1...c704955. Read the comment docs.

@smaldini smaldini changed the base branch from master to 0.8.x May 1, 2019 07:02
Stephane Maldini added 3 commits May 1, 2019 00:35
@smaldini
Copy link
Contributor Author

smaldini commented May 6, 2019

There will be further improvement in the next iteration, notably around single send, http message creation and more send aliases (encoder, source cleanup)

@smaldini smaldini merged commit 9f65dd0 into 0.8.x May 6, 2019
@smaldini smaldini deleted the MonoSend-experiment branch May 6, 2019 07:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/enhancement A general enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants