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

Add support for JRuby using NIO.2 WatchService #462

Open
headius opened this issue Aug 2, 2019 · 10 comments
Open

Add support for JRuby using NIO.2 WatchService #462

headius opened this issue Aug 2, 2019 · 10 comments

Comments

@headius
Copy link

headius commented Aug 2, 2019

I believe listen on JRuby will fall back on a polling implementation currently, since most of the adapters require C extensions. Specifically, I was looking at the Windows adapter, which needs the "wdm" extension on CRuby.

However, JRuby runs on the JDK, which has a built-in, cross-platform filesystem eventing API:

https://docs.oracle.com/javase/tutorial/essential/io/notification.html

Judging by the other adapters, it seems like we wouldn't need to write much code to support efficient filesystem monitoring for JRuby on all platforms where the JDK exists (which is pretty much all platforms).

Opening this issue in case someone with more time than me wants to give it a shot.

@bratish
Copy link

bratish commented Aug 3, 2019

I am willing to work on this. Might require some assistance though. Please let me know.

@headius
Copy link
Author

headius commented Aug 3, 2019

@bratish Sure, have a look at the tutorial and there are some examples of importing a Java API in our samples directory. Once you have imported something, it's mostly just plain Ruby.

@bratish
Copy link

bratish commented Aug 3, 2019

Thanks, @headius. @floehopper has submitted a patch already.

@donv
Copy link

donv commented Aug 11, 2021

Any progress on this one?

@headius
Copy link
Author

headius commented Jan 13, 2022

@donv I guess @floehopper PR was closed but hopefully we can still make this happen. Might need someone else to jump in on it.

@floehopper
Copy link
Contributor

I'm afraid I'm unlikely to have time to work on the PR in the near future. I hope someone else can help.

@headius
Copy link
Author

headius commented Jan 13, 2022

@floehopper No worries, hopefully what you have will be a good start for someone. I tweeted out a call for help!

https://twitter.com/headius/status/1481693790645673984

@ColinDKelley
Copy link
Collaborator

@headius Any updates here? I agree that it looks very possible. @bratish Would you possibly be interested still?

@ColinDKelley
Copy link
Collaborator

@headius @bratish Any updates here?

@headius
Copy link
Author

headius commented Feb 28, 2024

No updates on my end. It appears that MacOS still does not have a good way to implement this on JVM, so any NIO-based version should probably just be used on Linux and Windows which both have good file notification APIs. I don't have time to work on this currently though.

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

5 participants