1
0
mirror of https://github.com/bspeice/aeron-rs synced 2024-12-22 05:48:10 -05:00
Commit Graph

70 Commits

Author SHA1 Message Date
46baa54f75 Add bors.toml 2019-10-07 22:57:27 -04:00
419cbf158c Refactor workspace build 2019-10-07 22:17:14 -04:00
9f086c5965 Fix the Travis build 2019-10-07 19:26:33 -04:00
faf7fd33e4 Move to workspace builds 2019-10-07 19:20:14 -04:00
bspeice
a348e90d36
Merge pull request #6 from bspeice/driver_terminate
Driver Terminate
2019-10-07 19:12:49 -04:00
5156f48dd4 Fix two last unused Result types 2019-10-07 07:49:20 -04:00
2b8e32abb7 More temporary directory fixes 2019-10-07 07:34:00 -04:00
1a3d67f02c Fix a variable name 2019-10-07 07:07:16 -04:00
2cd2ae9995 Fix issues with delete on start
Seems like Windows doesn't handle it properly?
2019-10-07 07:02:02 -04:00
7e8f49c347 Move aeronmd back out of -sys.
Clap/Ctrlc are still causing issues during static link.
2019-10-06 23:18:57 -04:00
dc9fd52e07 Able to successfully terminate a driver!!!
Needs a *ton* of work to be more Rust-idiomatic, but the basics are there.
2019-10-06 23:16:47 -04:00
a755382f24 Add dev-dependencies for sys crate 2019-10-06 21:38:38 -04:00
f4c2fcf0c5 Finally able to terminate a driver.
Need to write a test for it, but it's working locally.
2019-10-06 21:37:38 -04:00
143e21bf0a Minor cleanup of CnC descriptor test 2019-10-06 20:54:11 -04:00
adfa401245 Add duty cycle functionality to the media driver
Eventually want to receive term events in tests
2019-10-06 20:45:57 -04:00
61a02711c0 Remove the termination validator
As was pointed out in the main Aeron project, should use an environment variable instead.
2019-10-06 19:12:35 -04:00
6e1645a7c1 Formatting fix 2019-10-06 18:42:38 -04:00
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