1
0
mirror of https://github.com/bspeice/aeron-rs synced 2024-11-13 19:48:09 -05:00
Commit Graph

53 Commits

Author SHA1 Message Date
730252127b Add a termination validator hook
Explains why `aeronmd` never actually shut down
2019-10-06 18:17:28 -04:00
b548c867c8 Theoretically able to shut down a driver?
In practice, I can't get any combination of C's aeronmd, C++'s DriverTool, Rust's `aeronmd`, and `do_terminate`.
2019-10-05 22:01:17 -04:00
a92f7e6416 One more question I need to eventually track down 2019-10-05 20:30:28 -04:00
9373f04b48 Add buffer write support 2019-10-05 20:28:35 -04:00
8174f0cde1 Fix formatting 2019-10-05 00:24:47 -04:00
3ae7e6176c Implement claim_capacity
Pretty close to having write support ready
2019-10-04 23:53:58 -04:00
818d2ad821 Struct overlay, handle negative offsets 2019-10-04 20:26:15 -04:00
a40a71d4a8 Fix formatting and warnings 2019-10-03 22:55:02 -04:00
38eea0224f Fix the bounds check 2019-10-03 22:40:10 -04:00
4611034b7b Add a test for increment offset 2019-10-03 22:17:08 -04:00
c463c96170 Start work on the atomic buffer
C++ Aeron doesn't seem to care about alignment, so I guess I won't either?
2019-10-03 22:10:34 -04:00
5527495b09 Reversion and cleanup
Moving the `aeronmd` example to the sys crate caused issues for static
linking because of the `tempfile` crate.

Revert "Install luuid for Linux"
Revert "Fix some Cargo.toml issues"
Revert "More minor cleanup"
2019-10-03 00:48:53 -04:00
c5b227f328 Install luuid for Linux 2019-10-03 00:32:37 -04:00
0e1462fe9e Fix some Cargo.toml issues 2019-10-02 23:42:05 -04:00
c982a63cd9 More minor cleanup 2019-10-02 23:27:59 -04:00
49bfb1edb9 Minor cleanup of the CnC version check 2019-10-02 23:11:44 -04:00
27a8ce0dd4 Start reading the CnC file 2019-10-02 22:54:44 -04:00
4085574b91 Add all the control protocol enums 2019-09-25 23:02:28 -04:00
dcb0af4f5e Make the macro look like an enum declaration
Interestingly enough, `cargo fmt` now recognizes and formats it
2019-09-25 22:31:10 -04:00
cef3a17d55 Move the control protocol enum to main client lib
Side benefit: forcing documentation
2019-09-25 22:18:56 -04:00
78730221d1 Fix a dumb mistake in null checking...
D'oh.
2019-09-25 22:09:18 -04:00
8b0ee22e1b Clippy cleanup 2019-09-25 00:26:19 -04:00
774a9a6b30 Doc fixes 2019-09-25 00:24:42 -04:00
3cd0aa4f55 Add in Rust-y bindings for some of the #define constants 2019-09-25 00:19:04 -04:00
8371b25638 Tweak to enum generation
No more gigantic weird names
2019-09-24 19:41:45 -04:00
Bradlee Speice
28900c330e Windows compatibility fixes 2019-09-24 00:25:12 -04:00
941c18bf37 Clean up the client context a bit
We're not ready to make use of most of these options
2019-09-23 23:27:03 -04:00
966db0767f Add a Rust-ier way of handling the MediaDriver 2019-09-23 23:04:59 -04:00
bors[bot]
1889a198b9
Merge #4
4: Start the Aeron media driver r=bspeice a=bspeice

Effectively runs the same code as [aeronmd.c](2afd9c6272/aeron-driver/src/main/c/aeronmd.h), but in Rust.

Note that this just demonstrates how to start the C Media Driver in-process; actual clients communicate through shared memory, so it's expected that actual client code will interface with the C bindings infrequently, if ever. That said, it's not a terrible idea to build more ergonomic bindings into the C layer; when testing the Rust client, we'll need a Media Driver running.

Co-authored-by: Bradlee Speice <bradlee@speice.io>
2019-09-22 23:04:37 +00:00
8eaf6b81c6 Add the aeronmd example
I think I might be doing this the wrong way; if I want to embed the media driver, I'll need these bindings, but otherwise the clients just communicate through shared memory.
2019-09-22 18:58:34 -04:00
1fdf79af8b Start work on the client context 2019-09-22 17:56:52 -04:00
646d58fd1b Whitelist driver bindings
Much cleaner namespace to work with
2019-09-22 15:30:17 -04:00
4310eb7e73 Project documentation files 2019-09-21 23:15:48 -04:00
bspeice
08485cb0d1
Merge pull request #3 from bspeice/static
Enable static builds
2019-09-21 18:56:14 -04:00
Bradlee Speice
11691a4bb2 Fix cargo fmt 2019-09-21 18:23:51 -04:00
Bradlee Speice
1d0e68a2da Add extra Windows SDK static libs 2019-09-21 18:07:41 -04:00
6312d9520d Enable static building in Travis 2019-09-21 15:50:07 -04:00
bspeice
4bfc895869
Merge pull request #1 from bspeice/travis_windows
Windows support
2019-09-21 14:45:43 -04:00
Bradlee Speice
7041d928d6 cargo fmt fixes 2019-09-21 14:03:07 -04:00
Bradlee Speice
b1493fc0fd Fix the DLL path on Windows
Static builds aren't working missing some symbols on Windows
2019-09-21 14:02:11 -04:00
e7aae43746 Add all link search paths
Probably want to rewrite via `cc` at some point.
2019-09-21 11:58:26 -04:00
4c9f575e2b Fix a cargo-fmt issue 2019-09-20 00:25:04 -04:00
Bradlee Speice
ffe015e9db Add support for Windows lib lookup directory 2019-09-20 00:14:40 -04:00
67a24a35d8 Fix path lookups on Windows 2019-09-19 23:17:31 -04:00
dd5662124b Only test on stable
That's what I care about, and ensures no issues with clippy/fmt
2019-09-19 23:08:20 -04:00
6018b12670 Format, clippy, and start the docs 2019-09-19 23:06:37 -04:00
e43c035aed Add some before_script necessary stuff 2019-09-19 22:47:07 -04:00
e6ae0ad1c5 Add Travis build file
Should work?
2019-09-19 22:33:59 -04:00
0a1e3d689a Add the Aeron project back 2019-09-19 22:29:14 -04:00
d02b9bb49a Remove the gitmodules file
Stuff got weird, need to reset
2019-09-19 22:27:55 -04:00