-
Notifications
You must be signed in to change notification settings - Fork 121
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
Remove "server" feature(s) #146
Comments
I am actively investigating using this library in projects as both a client and a server. I agree that extracting the TCP server stuff into a separate crate would be cleaner. I would be interested in perhaps writing some examples/documentation or other ways of contributing to help the project. |
how about |
... or probably we even create a new "namespace" and split it like this:
|
When trying to implement a server library, it seems it would be useful to describe some concrete use cases for the server. This would direct the design of the API and consequently the implementation of the server as well. Kind of like in test-driven development, or having a real user as a customer, some simple example applications would both help direct the development of an API, and also would give library users an example of how to use the library. Some things I'm thinking about:
|
Are you discussing splitting the current crate into multiple smaller ones in the existing repository or create multiple smaller repos, one for each crate? |
I find the |
Agreed, it is useful in many contexts. I think the change is to create a new tokio-modbus-server crate, which uses the core tokio-modbus crate but adds the server-specific stuff. It makes more sense than shoving into a single crate with a feature flag... the server itself might evolve at a different pace from the core Modbus functionality that a client would need, so decoupling them makes sense. |
The server features should be split off into a separate crate before releasing version 1.0. This might require to extract shared code into a separate crate.
The text was updated successfully, but these errors were encountered: