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

IRSocketProtocol.Error is not implemented (mentioned as a TODO) #17

Open
AmrutAnegundi opened this issue Aug 13, 2020 · 0 comments
Open
Labels
enhancement New feature or request

Comments

@AmrutAnegundi
Copy link

Currently in the RSocket Library we don't have a mechanism to handle errors coming from server.
I also observed that the observer is not being removed from the Dispatcher map used internally.
This will increase memory over time is my belief.
The streamId used to push to Dispatcher map is also int and will overflow over time and should fail in the long run. Correct me if I am wrong on this.
I have copied the screenshots below for reference,

Screen Shot 2020-08-13 at 5 51 40 PM

Screen Shot 2020-08-13 at 5 54 33 PM

Screen Shot 2020-08-13 at 6 16 27 PM

Expected Behavior

We should get the OnError callback for System.IObserver<(System.Buffers.ReadOnlySequence metadata, System.Buffers.ReadOnlySequence data)> object that is passed in our case RequestReponse function.
The object must be disposed from the Dispatcher map once there is no further reference to it.
We must reuse streamid so that it will work infinitely.

Actual Behavior

No callback in case of an error from the server

Steps to Reproduce

1.Send a RequestResponse to a server and let the server respond back with some error
@test
public void reproCase() {

}


## Possible Solution
<!--- Not obligatory, but you can suggest a fix/reason for the bug. -->

## Your Environment
<!--- Include as many relevant details about the environment you experienced the bug in. -->
<!--- Especially, always include the version(s) of RSocket library/libraries you used! -->

* RSocket version(s) used:
* Other relevant libraries versions (eg. `netty`, ...):
* Platform (eg. JVM version (`javar -version`) or Node version (`node --version`)):
* OS and version (eg `uname -a`):
@OlegDokuka OlegDokuka added the enhancement New feature or request label Aug 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants