-
Notifications
You must be signed in to change notification settings - Fork 354
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
Move RSocketFactory implementation to core sub-package to avoid dependencies from top-level package #770
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general LGTM.
Proposed a couple of API Changes since we rework that.
Also, let's remove the deprecated API.
Also found in headers 2002-2020
but should be 2015-2020
rsocket-core/src/main/java/io/rsocket/core/DefaultClientRSocketFactory.java
Outdated
Show resolved
Hide resolved
rsocket-core/src/main/java/io/rsocket/core/DefaultClientRSocketFactory.java
Show resolved
Hide resolved
rsocket-core/src/main/java/io/rsocket/core/DefaultServerRSocketFactory.java
Outdated
Show resolved
Hide resolved
99b0675
to
59262bd
Compare
See rsocketgh-770 Signed-off-by: Rossen Stoyanchev <[email protected]>
This commit extracts interfaces for ClientRSocketFactory, ServerRSocketFactory, and ConnectionSetupPayload, and moves the implementations into a sub-package with no references to it from the top-level package. This removes a large package cycle with io.rsocket at the center of everything since it currently contains both high level abstractions that (accessed by everything), as well as core protocol implementations classes (accessing everything). The refactoring is functionally neutral and backwards compatible. Signed-off-by: Rossen Stoyanchev <[email protected]>
See rsocketgh-770 Signed-off-by: Rossen Stoyanchev <[email protected]>
82a412e
to
608b952
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
The top-level
io.rsocket
package is at the center of a large package cycle because it contains both high level abstractions, accessed by everything, and also core protocol implementations classes that access everything:This change extracts interfaces for
ClientRSocketFactory
,ServerRSocketFactory
, andConnectionSetupPayload
, and moves the core implementations into a sub-package without references to it from the top-level package. After the changes:This isn't the end of it but it helps quite a bit while keeping the refactoring functionally neutral and backwards compatible.