Commit Graph

49 Commits

Author SHA1 Message Date
Tim Kuehn
dca55d4310 Make the generated rpc module public 2016-01-10 18:39:33 -08:00
Tim Kuehn
0f5ef5f575 Move macros crate into a module in tarpc crate 2016-01-10 15:48:32 -08:00
Tim Kuehn
82cc7b3303 Fix tests 2016-01-10 15:01:40 -08:00
Tim Kuehn
87f71b5549 Document all public items and deny(missing_docs) 2016-01-10 14:27:19 -08:00
Adam Wright
56bd362fb1 Modify serve_async to expose the bound address
serve_async was taking a SocketAddr, and then binding to it. This is fine if
your'e always sure of the exact address you want to bind to, but in some cases
you don't know.

One such case is when you want the OS to assign you and ephemeral port number,
like we do in our tests. In this case, you pass 0.0.0.0:0 as the address, and
then call bind. After that, you don't know which address the listener bound to,
so we can't make the subsequent call to TcpStream::connect without getting a
weird error.

This is fixed by the ServeHandle object exposing a local_addr() method, which
returns the address that the listener bound to.
2016-01-10 02:29:06 -08:00
Tim Kuehn
fae09e3fed Fix doc test 2016-01-09 14:44:30 -08:00
Adam Wright
5e34e32094 Generate an unused enum variant to fix a compiler error
Previously if you made a service with a single rpc it would generate an error
because of a redundant match statement.
2016-01-09 14:26:02 -08:00
Tim Kuehn
3bf2d1f16d Fix syntax and add doc comments to public items created in the macro 2016-01-09 14:24:16 -08:00
Tim Kuehn
7c89df7b09 Rustfmt 2016-01-09 14:23:55 -08:00
Tim Kuehn
b17b8c60d4 Remove failed requests from requests map. Fix #14. 2016-01-09 13:02:23 -08:00
Tim Kuehn
195cb4235d Rename wtf method 2016-01-09 12:48:21 -08:00
Tim Kuehn
98a34e4256 printlns => logging 2016-01-09 12:45:16 -08:00
Tim Kuehn
8567b9b845 Make macro easier to read 2016-01-09 04:52:12 -08:00
Tim Kuehn
40b0aecec1 Fix failing tests 2016-01-09 04:43:59 -08:00
Tim Kuehn
e32ef30c8d Warn if an error occurs when disconnecting client from server 2016-01-09 04:33:55 -08:00
Adam Wright
cb63166b82 Remove some stupid whitespace 2016-01-09 04:17:00 -08:00
Adam Wright
c352ff12b4 we tarpc_macros now 2016-01-09 04:00:02 -08:00
Adam Wright
2d9964293e Implement drop for tarpc::Client 2016-01-09 03:57:46 -08:00
Adam Wright
a63c935a33 modify macros to use tarpc:: stuff 2016-01-09 03:42:40 -08:00
Adam Wright
2f324f1689 Remove silly requirement of clone for fn rpc 2016-01-09 03:01:59 -08:00
Adam Wright
9d2a878f88 Merge branch 'macro' 2016-01-09 02:13:58 -08:00
Adam Wright
e0f9c89c0e Make handle_conn be private 2016-01-09 02:13:44 -08:00
Adam Wright
096cf25824 Remove commented code 2016-01-09 01:34:25 -08:00
Adam Wright
2f1b8e931d Clean up warnings 2016-01-09 01:34:08 -08:00
Tim Kuehn
b1e12d6b54 Merge branch 'master' of ssh://git.adam-wright.net:10022/shaladdle/adamrpc-rs 2016-01-09 01:23:22 -08:00
Adam Wright
df8d0f2303 Clean up those unused thingies
Closes #2.
2016-01-09 01:18:44 -08:00
Adam Wright
55f1686e52 Concurrency actually works 2016-01-09 01:15:29 -08:00
Adam Wright
47828e2c8e Tests pass, hooray 2016-01-09 00:45:30 -08:00
Adam Wright
e266aa81dc LOL Shutdown works LOL 2016-01-09 00:27:07 -08:00
Adam Wright
f10712f16a Clean shutdown except for server 2016-01-08 21:12:01 -08:00
Adam Wright
b011cbe1dc Sketch of Client with only one reader thread 2016-01-08 20:36:31 -08:00
Tim Kuehn
ed156a63a8 Merge branch 'master' of ssh://git.adam-wright.net:10022/shaladdle/adamrpc-rs 2016-01-08 20:25:00 -08:00
Adam Wright
3a3e2d1e4d Really have a non-clone thing? tests are a mess though 2016-01-08 19:56:02 -08:00
Adam Wright
eac0e56be7 A number of improvements
- Support non clonable Serve objects by wrapping in an Arc
- Support multiple RPCs per connection
- Support cleanish shutdown
2016-01-08 05:49:00 -08:00
Adam Wright
c62d66839d Join the client, and update reader to handle EOF 2016-01-08 04:31:51 -08:00
Adam Wright
44b3765d70 Removed a bunch of over-engineered code 2016-01-08 04:15:10 -08:00
Tim Kuehn
aa8cf758a7 Merge 2016-01-08 03:48:25 -08:00
Tim Kuehn
876e19f606 Allow variable args 2016-01-08 03:40:52 -08:00
Adam Wright
d13aa62f51 No longer fully qualify my_server::* 2016-01-08 03:22:58 -08:00
Adam Wright
ba254a8b96 Moved main into a test in lib.rs 2016-01-08 03:12:43 -08:00
Adam Wright
4987fd9759 main to use a struct Foo
Shows a more complete example
2016-01-08 03:01:07 -08:00
Adam Wright
78d04acaa4 Rename rpc! -> rpc_service! 2016-01-08 02:49:52 -08:00
Tim Kuehn
44a30fc237 Delete printlns 2016-01-08 02:43:50 -08:00
Adam Wright
579d3909e5 I made le test pass 2016-01-08 02:39:40 -08:00
Tim Kuehn
8989575186 Set up Cargo.toml 2016-01-08 02:39:15 -08:00
Tim Kuehn
2b93936d0c Implement client code 2016-01-08 02:19:23 -08:00
Tim Kuehn
9c17890321 rpc macro 2016-01-08 01:27:35 -08:00
Adam Wright
dbf7113cf3 WIP, doesn't compile :( 2016-01-08 00:08:20 -08:00
Adam Wright
4b0180d17f Initial commit 2016-01-06 21:01:11 -08:00