Commit Graph

771 Commits

Author SHA1 Message Date
Tim Kuehn
55d3e00691 Merge master ==> client-server-modules.
Some log statements were lost in this transition.
2016-01-31 21:29:49 -08:00
Tim Kuehn
eb4b47b25b Merge branch 'async' into no-mod 2016-01-31 21:21:50 -08:00
Tim Kuehn
fb468eb81f Merge master into async 2016-01-31 21:21:11 -08:00
Tim Kuehn
f211a4a2e7 Remove the struct InflightRpcs.
We were previously doing a lot of accounting to make sure the server never exits
before all open connection handlers. However, now that we're using scoped threads,
that's taken care of by the scoped library, and we were essentially doing redundant
work.
2016-01-31 20:04:35 -08:00
Tim Kuehn
a4de0db8eb Server: use a writer thread for each open connection 2016-01-29 22:44:02 -08:00
Tim Kuehn
277e707db9 Separate client and server code into protocol submodules 2016-01-29 22:40:22 -08:00
Tim Kuehn
84d402ebf5 Use a writer thread that handles all outbound requests. 2016-01-29 01:24:19 -08:00
Tim Kuehn
e711bb006c Wrap-up:
1. Use a scoped thread pool instead of crossbeam. It uses crossbeam under the hood but doesn't spawn endless threads.
   Hardcoded to 100 threads currently, but we can play with that.
2. Buffer IO. Seems to improve performance.
3. Shuffle around where the stream's timeouts are set. I think they should only need to be set once.
2016-01-28 01:28:56 -08:00
Tim Kuehn
b0f70cf47f Merge branch 'async' into no-mod 2016-01-28 00:30:31 -08:00
Tim Kuehn
a285a5a993 rpc_async means we can't unwrap() the result of sending a reply.
Add a test for this.
2016-01-28 00:29:17 -08:00
Tim
af2d701cfd Merge branch 'debug' into 'master'
Debug



See merge request !13
2016-01-28 11:51:35 +05:30
Adam Wright
707daff475 Remove superfluous log 2016-01-27 22:18:04 -08:00
Adam Wright
43cb920c56 Merge branch 'disclaimer' into 'master'
Add disclaimer to README



See merge request !14
2016-01-28 11:43:41 +05:30
Tim Kuehn
10d7a87382 Fix doc test 2016-01-27 21:48:20 -08:00
Tim Kuehn
48ebd3c4ed Add documentation to the macro 2016-01-27 21:38:42 -08:00
Tim Kuehn
41c036fa0f Simplify the macro.
No longer create a submodule. It's up to the user to decide how to scope the macro invocation.
The preferred method will be to invoke within a dedicated rpc module.
2016-01-27 21:11:38 -08:00
Tim Kuehn
69f4c954fa Clean up a few tests. 2016-01-27 01:31:41 -08:00
Tim Kuehn
27cb18b309 Add async test 2016-01-27 01:23:52 -08:00
Tim Kuehn
9e6155673f clean up benchmark 2016-01-27 01:20:17 -08:00
Tim Kuehn
6109d825f6 Add an async client 2016-01-27 01:09:01 -08:00
Tim Kuehn
54dbd74e2f Replace planned generic serialization feature with backward-compatibility features 2016-01-26 22:03:46 -08:00
Tim Kuehn
25b7f4887e Add disclaimer to README 2016-01-26 21:48:02 -08:00
Adam Wright
4db54932d8 Fix brokenness and add another log 2016-01-26 21:17:21 -08:00
Adam Wright
b83a72a4ce Some logs to help with debugging 2016-01-26 21:17:21 -08:00
Tim Kuehn
489ab555c3 Merge branch 'master' of ssh://git.adam-wright.net:10022/shaladdle/tarpc 2016-01-26 21:14:20 -08:00
Tim
288ce6a94a Merge branch 'timeout' into 'master'
Increase timeouts. These are too short on linux.



See merge request !12
2016-01-27 10:39:07 +05:30
Adam Wright
9c6a66d81c Increase timeouts. These are too short on linux. 2016-01-26 21:06:49 -08:00
Tim Kuehn
d4a20bde28 Add license and description to Cargo.toml 2016-01-26 20:10:18 -08:00
Adam Wright
467a981088 Merge branch 'less-unwraps' into 'master'
Don't unwrap so nonchalantly



See merge request !11
2016-01-26 13:18:19 +05:30
Tim Kuehn
cd24e87672 Put back an OK unwrap 2016-01-25 23:45:43 -08:00
Tim Kuehn
89ebb4a446 Don't unwrap so nonchalantly 2016-01-25 23:38:45 -08:00
Adam Wright
06c0b41c21 Merge branch 'rustfmt-cfg' into 'master'
Add rustfmt.toml for reordering imports



See merge request !10
2016-01-26 12:58:33 +05:30
Tim Kuehn
1ec610b7c2 Reorder imports 2016-01-25 23:25:23 -08:00
Adam Wright
149aa98342 Merge branch 'code-refactor' into 'master'
Code refactor

Factor out HashMap in reader into its own struct.

Precipitated by the clippy warning about complex types, but definitely makes the code more readable, as well.

This should be merged after #8

See merge request !9
2016-01-26 12:52:16 +05:30
Tim Kuehn
d1013dd5a8 cargo fmt 2016-01-25 23:11:19 -08:00
Tim Kuehn
0966b2c823 Remove unnecessary call to HashMap::clear 2016-01-25 23:09:14 -08:00
Tim Kuehn
72ab27713d Remove superfluous block 2016-01-25 23:01:23 -08:00
Tim Kuehn
57c058dfbc Use try! where applicable 2016-01-25 22:50:23 -08:00
Adam Wright
bb8fc35326 Merge branch 'crossbeam' into 'master'
Crossbeam

Use crossbeam for server-side thread spawning, removing Arcs and superfluous trait bounds where possible.

See merge request !8
2016-01-26 12:02:57 +05:30
Tim Kuehn
61e304ddfb Merge branch 'crossbeam' into code-refactor 2016-01-25 22:31:46 -08:00
Tim Kuehn
0d1be7400b Make type param single char 2016-01-25 22:31:13 -08:00
Tim Kuehn
382a232dcc Merge branch 'crossbeam' into code-refactor 2016-01-25 21:49:54 -08:00
Tim Kuehn
bb53b5733f Make 'f' a field of ConnectionHandler and rename ==> server 2016-01-25 21:49:31 -08:00
Tim Kuehn
3ec2322714 Merge branch 'crossbeam' into code-refactor 2016-01-25 21:38:15 -08:00
Tim Kuehn
5d50ccfb6f Make read_stream a field of ConnectionHandler 2016-01-25 21:35:47 -08:00
Tim Kuehn
39706467ab Factor out HashMap in reader into its own struct.
Precipitated by the clippy warning about complex types, but definitely makes the code more readable, as well.
2016-01-25 20:48:26 -08:00
Tim Kuehn
3cff1c0b62 cargo fmt 2016-01-24 23:07:24 -08:00
Tim Kuehn
4c2c072fff Use non-moving closure, where possible 2016-01-24 23:04:56 -08:00
Tim Kuehn
132fbf368b Merge branch 'master' of ssh://git.adam-wright.net:10022/shaladdle/tarpc into crossbeam 2016-01-24 18:33:17 -08:00
Tim Kuehn
854d2075f3 Use crossbeam scoped threads where possible 2016-01-24 18:32:50 -08:00