Skip to content

Conversation

@rstoyanchev
Copy link
Contributor

@rstoyanchev rstoyanchev commented Sep 2, 2020

RSocketClient is not yet in production so we've an opportunity to revisit things like the packaging, Javadoc, as well as where and how the client can be created.

One high level goal of this change is to draw a more clear contrast between RSocketClient and RSocket. There is a major update to the Javadoc of RSocketClient related to that as well precising the language to reflect the addition of LoadbalanceRSocketClient as a second alternative implementation since it was first created.

Secondly to emphasize them as as two distinct layers, in the proposed changes RSocketConnector is now left primarily for creating Mono<RSocket>, i.e. connecting to establish a live, transient connection. Separately RSocketClient.from(Mono<RSocket) allows wrapping a Mono<RSocket> source and uses it to establish (and re-establish) a shared connection for multiplexed use as needed.

The change also moves RSocketClient from the top-level package, where RSocket is for example, to the io.rsocket.core sub-package. For once RSocketClient is not on the same level as RSocket. It's only for sending, it works on a higher level than RSocket, etc. On a practical level this makes it possible to have static factory methods for the default implementation and for adapting a live RSocket.

@spencergibb
Copy link
Contributor

Great clarifications. /cc @olegz

Copy link
Member

@OlegDokuka OlegDokuka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Signed-off-by: Rossen Stoyanchev <rstoyanchev@vmware.com>
@rstoyanchev rstoyanchev self-assigned this Sep 7, 2020
@rstoyanchev rstoyanchev added this to the 1.1 M2 milestone Sep 7, 2020
@rstoyanchev rstoyanchev merged commit 6200b1a into rsocket:master Sep 7, 2020
@rstoyanchev rstoyanchev deleted the rsocketclient branch September 7, 2020 12:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants