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

Support 9p2000 (and maybe 9p2000.u)? #11

Open
lf94 opened this issue Dec 24, 2020 · 1 comment
Open

Support 9p2000 (and maybe 9p2000.u)? #11

lf94 opened this issue Dec 24, 2020 · 1 comment

Comments

@lf94
Copy link

lf94 commented Dec 24, 2020

Currently there appears to be no way to choose between 9p2000 or 9p2000.L. There appears to be residual code from possibly an earlier time which suggests there used to be support for 9p2000.

Are there any suggestions on how this should be organized and accessed?

Do we need rust-9pL and rust-9pu and rust-9p?

Do we use different internal modules for each 9p version?

Do we use an enum and have the behavior changed on which is passed? (Most common solution)

@pfpacket
Copy link
Owner

pfpacket commented Jan 5, 2021

In 2015 when I started developing rust-9p I thought it would be a great idea to support all the variants of 9P.
However, (honestly I'm not quite sure what it was but), as implementing them in a clean way was not so easy I stopped the further developing of other variants other than 9P2000.L cuz I was like who the hell wanna use bare 9P and 9P2000.u when we have 9P2000.L?

Do we need rust-9pL and rust-9pu and rust-9p?

Definitely not.

Do we use different internal modules for each 9p version?

Possibly?

Do we use an enum and have the behavior changed on which is passed? (Most common solution)

Hmm... maybe?
Each 9P variant has the different semantics.
I think Filesystem trait is the thing needed to be worked on to support all the variants because the version negotiation in Filesystem::rversion should be done by library users.

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

No branches or pull requests

2 participants