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

Stream EOF support #201

Open
cthulhu-rider opened this issue Feb 24, 2022 · 2 comments
Open

Stream EOF support #201

cthulhu-rider opened this issue Feb 24, 2022 · 2 comments
Labels
discussion Open discussion of some problem I3 Minimal impact S2 Regular significance U4 Nothing urgent

Comments

@cthulhu-rider
Copy link
Contributor

cthulhu-rider commented Feb 24, 2022

Currently we don't have any mention of a graceful end to the stream. Go gRPC implementation returns EOF on client/server side if server/client closed the stream via corresponding library functionality.

Do we want to unify this behavior on protocol definition level? Possible solutions:

  1. Require to finish stream with empty request|response body: this will support the completion of the stream at a purely protocol level, and not be tied to the implementation;
  2. Require to finish stream with EOF-like status code: alternative way of 2.
@cthulhu-rider cthulhu-rider added enhancement Improving existing functionality question Further information is requested discussion Open discussion of some problem triage labels Feb 24, 2022
@roman-khimov roman-khimov added U4 Nothing urgent S2 Regular significance I3 Minimal impact and removed triage enhancement Improving existing functionality question Further information is requested labels Dec 20, 2023
@cthulhu-rider
Copy link
Contributor Author

cthulhu-rider commented Jan 15, 2024

i thought that the synonymous problem could be lack of unknown RPC: Protocol Buffers v3 doesnt contain functionality for this. Hence current NeoFS API protocol doesnt specify behavior when calling, for example, neo.fs.v2.object.ObjectService/MissingRPC method. Some dedicated status message would help

https://datatracker.ietf.org/doc/html/rfc2616#section-10.5.2

@cthulhu-rider
Copy link
Contributor Author

consider specific status code similar to 206 Partial Content. Then all non-fin messages could carry this code while the fin one 0 OK meaning EOF

but be careful, backward compatibility never sleeps

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Open discussion of some problem I3 Minimal impact S2 Regular significance U4 Nothing urgent
Projects
None yet
Development

No branches or pull requests

2 participants