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

Refactors RSocketFactory API #772

Closed
OlegDokuka opened this issue Apr 9, 2020 · 2 comments
Closed

Refactors RSocketFactory API #772

OlegDokuka opened this issue Apr 9, 2020 · 2 comments
Assignees
Labels
superseded Issue is superseded by another

Comments

@OlegDokuka
Copy link
Member

This issue stands for better API

  1. Refactors keepAlive setup to the builder. Old API should be deprecated
ClientRSocketFactory keepAlive(KeepAlive spec);

KeepAlive.of(Duration tickInterval, Duration timeout);

KeepAlive.builder()
             .missedAcks(int number)
             .ackTimeout(Duration ackTimeout)
             .build();
  1. Refactor Ressumability API to the builder in the same fashion as keepAlive. Also, a related issue to that is Resume mechanism improvements & refactor #766

3)Possibly, not sure it would make sense but: Refactors Setup API to the builder:

setupPayload(
   SetupSpec.builder()
            .dataMimeType(...)
            .metedataMimeType(...)
            .payload(Payload)
)
@rstoyanchev
Copy link
Contributor

Some extra, initial thoughts:

  • keepAlive - there are 4 methods but underneath it boils down to two values, so this could be simplified to reduce the options and also align with the spec terminology (e.g. keepAliveTimeBetweenFrames and keepAliveMaxLifeTime).
  • resume - there are about 6 methods for the client and 5 for the server. There is a case for some sort of Resume spec (similar to the new Retry in Reactor).
  • possibly other smaller opportunities - e.g. do we really need mimeType or 3 acceptor options on the client side..

@rstoyanchev
Copy link
Contributor

I think we can close this one in favor of #778.

@OlegDokuka OlegDokuka added superseded Issue is superseded by another and removed enhancement labels Apr 10, 2020
@rstoyanchev rstoyanchev removed this from the 1.0 milestone Apr 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
superseded Issue is superseded by another
Projects
None yet
Development

No branches or pull requests

2 participants