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

crates.io? #34

Closed
awaited-hare opened this issue Sep 8, 2020 · 12 comments
Closed

crates.io? #34

awaited-hare opened this issue Sep 8, 2020 · 12 comments

Comments

@awaited-hare
Copy link

It seems that this library is not on crates.io. Any plan to publish it?

@glommer
Copy link
Collaborator

glommer commented Sep 8, 2020

Hello @l1an0 .

Yes, this is a nascent library so it will take us some time. One of the impediments now is that crates.io only allow packages that depend on other crates and we have some direct git dependencies for unmerged code on iou and uring-sys.

I have experimental patches that import that code directly temporarily.

Give us a couple of days and it should be on crates.

Thanks!

@glommer
Copy link
Collaborator

glommer commented Sep 30, 2020

quick update on this: iou seems to have most of the bits we need now, but uring-sys is still broken (lacking a commit that fixes the poll ring)

We'll get there.

@glommer
Copy link
Collaborator

glommer commented Sep 30, 2020

I just opened ringbahn/uring-sys#22 and ringbahn/uring-sys#23

@NOBLES5E
Copy link

@glommer Is it possible to separate executor and io_uring related things into different crates?

There are many scenarios where we only need a one thread per core system and don't need io_uring. In these cases, an easy way to create local executors on individual threads is good enough.

@glommer
Copy link
Collaborator

glommer commented Oct 20, 2020

Are you proposing not doing I/O, or doing I/O through something else other than io_uring ?

@NOBLES5E
Copy link

@glommer In my case not doing I/O.

@glommer
Copy link
Collaborator

glommer commented Oct 20, 2020

right, but are you not doing File I/O or any kind of I/O?

io_uring in Scipio is responsible for:

  • timers
  • file I/O (including stdin)
  • network I/O.

I feel like it would be too crippling.

All the code we wrote that is needed for io_uring at this point was merged in the io_uring crates. So I don't see a lot of appeal in making that optional.

@NOBLES5E
Copy link

@glommer Thanks for your reply :)

@glommer
Copy link
Collaborator

glommer commented Oct 20, 2020

My pleasure! Please stick around, we'll have a chat soon (follow the discussion on #126).

Despite the roadblock with io_uring, I should be able to publish on crates as early as this week. I will temporarily copy the io_uring code to unblock us.

@NOBLES5E
Copy link

Thanks. I was thinking about if we are not doing I/O ( or we can use something else for I/O), then the lib can be used on systems with an older kernel (since most environments in my company runs on old kernel and I cannot change that )

@glommer
Copy link
Collaborator

glommer commented Oct 20, 2020

I understand your point.
I wouldn't use scipio in production for a while still =)
Hopefully by then your company will be in newer kernels.

There are advantages in supporting multiple environments but disadvantages too, as complexity grows.
At the moment I think it pays to keep it simple

@glommer
Copy link
Collaborator

glommer commented Oct 22, 2020

@glommer glommer closed this as completed Oct 22, 2020
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

No branches or pull requests

3 participants