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

Attempt at renames #96

Merged
merged 10 commits into from
Feb 9, 2024
Merged

Attempt at renames #96

merged 10 commits into from
Feb 9, 2024

Conversation

Mpdreamz
Copy link
Member

@Mpdreamz Mpdreamz commented Aug 30, 2023

  • TransportClient => interface IRequestInvoker
  • HttpTransport => interface ITransport
  • DefaultHttpTransport => DistributedTransport

@Mpdreamz Mpdreamz marked this pull request as ready for review August 30, 2023 12:17
@stevejgordon
Copy link
Collaborator

stevejgordon commented Aug 31, 2023

Without diving into the details, I took a quick scan of this. I generally like much of the renaming here. I like separating the logical transport concept from the IO detail of invoking the requests.

I'm generally in favour of preferring abstract classes over interfaces on things we may evolve. This change will conflict with some refactoring I've done in my WIP branch to update the OTel instrumentation. For example, ITransport methods will need to accept an optional additional parameter, and I implemented overloads in the abstract class to do this in a non-breaking way. I like that we can evolve the base classes more easily than interfaces.

@Mpdreamz
Copy link
Member Author

In general I like this move to abstract classes with transport specifically though I really miss a covariant interface so base classes can expose the injected concrete configuration rather then the the (abstract) base implementation.

The other was by explicitly naming DefaultHttpTransport DistributedTransport it would be more apt for us to introduce a CloudTransport which does not have to care about any of the distributed nature bits of connecting to multiple nodes. This transport would not necessary need to share anything with base classes.

- TransportClient => interface IRequestInvoker
- HttpTransport => interface ITransport
- DefaultHttpTransport => DistributedTransport
Copy link
Member

@flobernd flobernd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@Mpdreamz Mpdreamz merged commit 4d0e49d into main Feb 9, 2024
4 checks passed
@Mpdreamz Mpdreamz deleted the feature/naming branch February 9, 2024 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants