rust-mmap icon indicating copy to clipboard operation
rust-mmap copied to clipboard

Combining Forces

Open danburkert opened this issue 9 years ago • 6 comments

Hi there,

I wrote a Rust mmap wrapper a few months ago, before you had published your crate on crates.io. My implementation is largely the same as yours, the main differences seem to be that I have more support for high-level Rust traits that make it easy and safe to work with (e.g. exposing &mut [u8] instead of *mut u8), but I expose fewer non-cross platform options. It's fully cross platform and tested on Linux, OS X, and Windows. Check out the API here.

I don't see much need for two crates doing essentially the same thing, so I wanted to know if you would be interested in teaming up on this effort, and potentially merging the projects. I'm pretty open particulars; my only real concern is that there is a go-to high quality mmap library for Rust, and I'd prefer if we didn't duplicate effort!

danburkert avatar Jul 15 '15 05:07 danburkert

@rbranson ping, I'd like to get your thoughts on this. Thanks!

danburkert avatar Aug 10 '15 01:08 danburkert

@danburkert looks like you've done a great job on this other project. Acknowledge that my stuff is pretty unsafe. What do you think are next steps?

rbranson avatar Aug 10 '15 18:08 rbranson

@rbranson would it be acceptable to add you as a committer on my repo, and have you add me as an owner on crates.io? The next step is that I would push a version of my repo to crates.io with a minor version bump.

I'm a bit worried about breaking any projects that depend on the current version of the crate. Projects can always pin the version to the current one, but I may take a look with cargo-crusader to see how bad breakage will be before publishing a new version. Transitioning to the new API should be straightforward for downstream dependencies, the only feature mismatch that I can see that is not platform-specific is creating a mmap with offsets, but I've been working on that.

danburkert avatar Aug 11 '15 15:08 danburkert

You have laid claim on a very good name for a memory mapped file crate (mmap), but you don't seem to have the time to maintain it. If you could at least allow others like @danburkert to make mmap continue on as a maintained library, it would help this crate live on, and would take minimal effort from you.

retep998 avatar Aug 16 '15 23:08 retep998

It looks like there are five crates depending on mmap right now:

  • block_allocator - anonymous mmap
  • context - anonymous stack mmap
  • coroutine - anonymous stack mmap
  • wayland-kbd - file-backed mmap

All of these use cases are covered right now by my version (stack support will be landing soon), so it should be a straightforward update across the board.

danburkert avatar Aug 17 '15 00:08 danburkert

@retep998 your response comes across as very rude. This is a volunteer-based community, please try to treat others with respect for their time and effort.

I am waiting on danburkert's version of mmap to become public so I can push up code. But likewise, I am patient with @rbranson response. I am sure this will be resolved soon.

xrl avatar Aug 17 '15 17:08 xrl