vlingo / xoom-wire

The VLINGO XOOM platform SDK wire protocol messaging implementations, such as with full-duplex TCP and UDP multicast, and RSocket, using VLINGO XOOM ACTORS.
Mozilla Public License 2.0
13 stars 11 forks source link

Eliminates ByteBuffer::put in RSocketOutboundChannel #21

Closed buritos closed 4 years ago

buritos commented 4 years ago
buritos commented 4 years ago

@VaughnVernon made some changes for reducing allocation overhead from defensive use of ByteBuffers. I think that the new version is a good balance between safety and performance.

I used Mono from reactor because that was what was already there. Perhaps we should switch to Completes? How would I go about that?

@alexguzun perhaps you can improve on my solution in Outbound::broadcast. I am not too familiar with reactor, so there are good chances that there is a better way to do what I did there.

I also looked into RSocketClienChannel::requestWith but could not find a way to do something similar. @alexguzun is it correct that channelSocket.requestChannel(this.publisher) returns a Flux with the Payloads from the responder?

VaughnVernon commented 4 years ago

@buritos Since I previously approved too early I am leaving this to @alexguzun to approve.