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
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