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

[QUESTION] #426

Open
akpour opened this issue Jun 3, 2024 · 2 comments
Open

[QUESTION] #426

akpour opened this issue Jun 3, 2024 · 2 comments
Labels

Comments

@akpour
Copy link

akpour commented Jun 3, 2024

ERPC forward and backward compatibility

  • Can someone comment about ERPC backward and forward compatibility scenarios between the client and the server in c++?

1- what if arguments are added/removed from the interfaces signature
2- what if argument types are added/removed
3- what if newer APIs are added, etc

Has backward and forward compatibility being properly thought about in ERPC?

@akpour akpour added the question label Jun 3, 2024
@amgross
Copy link
Contributor

amgross commented Jun 3, 2024

Hi
From what I know:
Client shouldn't call server if their api are different, calling API that not exist in the server will cause server side to 'crash' ithout returning error to the client, calling API that changed most of the time will cause server crash but may lead also to calling the API with wrong parameters.
But if some of the API are equal and some are different (due to API addition or change or whatever) still the equal API can be called, if the enum that representing them have same values in both sides.
In general of course it is good practice not to use client and server from different generation, and if erpcgen executable/erpc code itself are different between server and client it should be checked carefully that none breaking change added to erpc between the versions.

@amgross
Copy link
Contributor

amgross commented Jul 7, 2024

@akpour if this answered you please close the issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

2 participants