-
Notifications
You must be signed in to change notification settings - Fork 19
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
This is just an issue to think about it. I am sorry to not have mentionned it earlier in a PR.
I think the CoreClient should not contain any abstraction, that is any structure that is not created in the interface or any logic more than executing the operation.
I propose then the following changes:
- put a
provider_idfield inside theCoreClient(ProviderIDtype), which is the exact number used to send the operation on the wire protocol. Add setters and getters for that field. Use that field when sending operation and not theProviderparameter of the methods. - do not restrict the core operations to be executed only on the core providers: I think that the "intelligence" needed to know which operation is executable on which provider should not be part of the core client but at a higher level. It should be possible to send operations with the
CoreClientthat are not supported. It should be possible to do anything with theCoreClient - move the
Providerstructure out of theCoreClient. I think this structure is our first abstraction over the core client and should be in its own module, likeproviders.rs. I think that the logic needed to retrieve the provider ID of a known provider should not be part of theCoreClient
CC @ionut-arm what do you think?
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request