Skip to content
This repository has been archived by the owner on May 18, 2023. It is now read-only.

Version negotiation? #14

Closed
nex3 opened this issue Apr 4, 2019 · 5 comments · Fixed by #39
Closed

Version negotiation? #14

nex3 opened this issue Apr 4, 2019 · 5 comments · Fixed by #39
Labels
enhancement New feature or request

Comments

@nex3
Copy link
Contributor

nex3 commented Apr 4, 2019

Do we want to have some sort of version negotiation take place when the protocol is first connected? If we think we'll ever want this, specifying it early on will mean all implementations will support it at least well enough to say "no I don't support your protocol version". On the other hand, I expect most implementation distributions will be tightly-coupled enough that the embedder will always know which version of the compiler it's shipping (at least to within a semantic version range).

@strychnide What do you think?

@nex3 nex3 added the enhancement New feature or request label Apr 4, 2019
@ghost
Copy link

ghost commented Apr 7, 2019

I guess we could have a "hello" message of some kind, not enforcing anything but just outputting informations and letting the implementations do what they want (maybe suggesting to implement the version check/other checks).

@nex3
Copy link
Contributor Author

nex3 commented Apr 7, 2019

If we do this, I think we should at least enforce some kind of behavior so one endpoint doesn't just send something completely incomprehensible to the other. Something like, "if you don't get the handshake you expect, close the connection and emit an error".

@ghost
Copy link

ghost commented Apr 9, 2019

A handshake seems fine to me, some kind of "info" outbound message + an "everything ok" inbound message should be good enough, imo.

@nex3
Copy link
Contributor Author

nex3 commented Apr 11, 2019

What would be in the "info" message? How should an endpoint react if the other's message isn't what it expects?

@ghost
Copy link

ghost commented Apr 13, 2019

Info message -> everything the host would want to check (atm only the version comes to mind but there may be more).
if a message isn't what it expects maybe we could use the ProtocolError we already defined?

@nex3 nex3 mentioned this issue Dec 21, 2020
nex3 added a commit that referenced this issue Dec 22, 2020
This doesn't add actual version negotiation, because it's expected
that embedded hots will tightly control which compiler versions they
install.

Partially addresses #37
Closes #14
@nex3 nex3 closed this as completed in #39 Dec 23, 2020
nex3 added a commit that referenced this issue Dec 23, 2020
This doesn't add actual version negotiation, because it's expected
that embedded hots will tightly control which compiler versions they
install.

Partially addresses #37
Closes #14
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant