Artem Vorotnikov
7f871f03ef
Improve Travis configuration ( #282 )
...
* Improve Travis configuration
* Replace 0.0.0.0 with localhost in tests
2019-11-28 14:06:35 -08:00
Artem Vorotnikov
709b966150
Update to Tokio 0.2 and futures 0.3 ( #277 )
2019-11-27 19:53:44 -08:00
Artem Vorotnikov
5e19b79aa4
Unite most of tarpc into a single crate
2019-11-26 13:08:18 -08:00
Tim Kuehn
6eb806907a
Replace Gitter badge with Discord badge.
2019-11-22 14:28:24 -08:00
Tim Kuehn
8250ca31ff
Remove --no-default-features from pre-push hook.
...
It seemingly doesn't work at the root of a virtual workspace. Not sure if this is new behavior or just a new explicit error message.
2019-11-15 17:19:08 -08:00
Tim Kuehn
7cd776143b
Fix typo
2019-11-15 17:12:00 -08:00
Artem Vorotnikov
5f6c3d7d98
Port to pin-project
2019-10-09 14:12:24 -07:00
Artem Vorotnikov
915fe3ed4e
Use the JSON transport in examples
2019-10-08 19:18:49 -07:00
Artem Vorotnikov
d8c7b9feb2
JSON transport: use Tokio resolver for connect()
2019-10-08 18:03:25 -07:00
Artem Vorotnikov
5ab3866d96
Add Unpin note
2019-10-08 17:15:17 -07:00
Artem Vorotnikov
184ea42033
Upgrade json-transport to Tokio 0.2
2019-10-08 17:15:17 -07:00
Artem Vorotnikov
014c209b8e
Do not serialize _non_exhaustive field
2019-10-03 13:09:26 -07:00
Artem Vorotnikov
e91005855c
Remove remaining feature flags
2019-10-02 13:07:37 -07:00
Artem Vorotnikov
46bcc0f559
tokio 0.2.0-alpha.4
2019-08-30 09:29:18 -07:00
Artem Vorotnikov
61322ebf41
Clippy fixes
2019-08-29 11:34:38 -07:00
Artem Vorotnikov
db0c9c4182
Cut type_alias_impl_trait feature flag
2019-08-29 11:34:38 -07:00
Artem Vorotnikov
9ee3011687
Update to Tokio 0.3.0-alpha.3
2019-08-29 11:34:38 -07:00
Artem Vorotnikov
5aa4a2cef6
tokio 0.2.0-alpha.2
2019-08-19 23:13:06 -07:00
Artem Vorotnikov
f38a172523
Format code with rustfmt
2019-08-19 13:20:21 -07:00
Tim Kuehn
66dbca80b2
Add missing feature, "compat", back to json-transport dependency on futures-preview.
2019-08-14 09:16:44 -07:00
Tim
61377dd4ff
Fix comment in example service
...
It referred to bincode instead of json.
2019-08-14 08:32:49 -07:00
Tim
cd03f3ff8c
Don't mention 'static optional in readme
...
This isn't supported by the service attribute.
2019-08-13 08:49:11 -07:00
Tim Kuehn
9479963773
Don't enable serde1 by default. I forgot it gives bad compile errors to people who don't have serde in their Cargo.toml.
2019-08-09 01:21:31 -07:00
Tim Kuehn
f974533bf7
Use real crate names rather than internal aliases. It's less confusing for people reading examples.
2019-08-09 01:16:06 -07:00
Tim Kuehn
d560ac6197
Update to the latest rustc nightly.
2019-08-09 01:08:20 -07:00
Tim Kuehn
1cdff15412
Fix needless verbosity in readme
2019-08-09 00:50:06 -07:00
Tim Kuehn
f8ba7d9f4e
Make tokio1 serde1 default features
2019-08-08 22:06:09 -07:00
Tim Kuehn
41c1aafaf7
Update tokio to v0.2.0-alpha.1
...
As part of this, I made an optional tokio feature which, when enabled,
adds utility functions that spawn on the default tokio executor. This
allows for the removal of the runtime crate.
On the one hand, this makes the spawning utils slightly less generic. On
the other hand:
- The fns are just helpers and are easily rewritten by the user.
- Tokio is the clear dominant futures executor, so most people will just
use these versions.
2019-08-08 21:53:36 -07:00
Tim Kuehn
75d1e877be
Update README to talk about deadlines a bit more precisely.
2019-08-08 20:45:37 -07:00
Tim Kuehn
88e1cf558b
Generate README.md from cargo readme
2019-08-08 20:31:04 -07:00
Tim Kuehn
50879d2acb
Don't bake in Send + 'static.
...
Send + 'static was baked in to make it possible to spawn futures onto
the default executor. We can accomplish the same thing by offering
helper fns that do the spawning while not requiring it for the rest of
the functionality.
Fixes https://github.com/google/tarpc/issues/212
2019-08-07 13:39:48 -07:00
Tim
13cb14a119
Merge pull request #248 from tikue/service-idents
...
With this change, the service definitions don't need to be isolated in their own modules.
Given:
```rust
#[tarpc::service]
trait World { ... }
```
Before this would generate the following items
------
- `trait World`
- `fn serve`
- `struct Client`
- `fn new_stub`
`// Implementation details below`
- `enum Request`
- `enum Response`
- `enum ResponseFut`
And now these items
------
- `trait World { ... fn serve }`
- `struct WorldClient ... impl WorldClient { ... async fn new }`
`// Implementation details below`
- `enum WorldRequest`
- `enum WorldResponse`
- `enum WorldResponseFut`
- `struct ServeWorld` (new manual closure impl because you can't use impl Trait in trait fns)
```
2019-08-05 12:23:35 -07:00
Tim Kuehn
22ef6b7800
Choose a slightly less obvious name for Serve impl.
...
To hopefully avoid most collisions.
2019-07-30 21:46:16 -07:00
Tim Kuehn
e48e6dfe67
Add nice error message for ident collisions
2019-07-30 21:31:22 -07:00
Tim Kuehn
1b58914d59
Move generated functions under their corresponding items.
...
- fn serve -> Service::serve
- fn new_stub -> Client::new
This allows the generated function names to remain consistent across
service definitions while preventing collisions.
2019-07-30 20:45:58 -07:00
Tim Kuehn
2f24842b2d
Add service name to generated items.
...
With this change, the service definitions don't need to be isolated in their own modules.
2019-07-30 00:52:30 -07:00
Tim Kuehn
5c485fe608
Add some tests for snake to camel case conversion.
2019-07-30 00:52:30 -07:00
Tim Kuehn
b0319e7db9
Remove macros.rs
2019-07-30 00:51:29 -07:00
Tim Kuehn
a4d9581888
Remove service_registry example
2019-07-29 23:17:08 -07:00
Tim Kuehn
fb5022b1c0
cargo fmt
2019-07-29 22:08:53 -07:00
Tim Kuehn
abb0b5b3ac
Rewrite to use proc_macro_attribute
2019-07-29 22:04:04 -07:00
Artem Vorotnikov
49f2641e3c
Port to runtime crate
2019-07-29 08:36:06 -07:00
Tim
650c60fe44
Merge pull request #246 from google/rustfmt
...
Reformat all code using rustfmt
2019-07-22 17:53:48 -07:00
Artem Vorotnikov
1d0bbcb36c
Reformat all code using rustfmt
2019-07-23 03:44:16 +03:00
Tim Kuehn
c456ad7fa5
Fix typo
2019-07-22 14:15:27 -07:00
Tim Kuehn
537446a5c9
Remove use of unstable feature 'arbitrary_self_types'.
...
Turns out, this actually wasn't needed, with some minor refactoring.
2019-07-19 00:48:59 -07:00
Tim Kuehn
94b5b2c431
Add tests for rpc/server/filter.rs
2019-07-16 21:48:11 -07:00
Tim Kuehn
9863433fea
Remove unstable feature 'async_closure'
2019-07-16 11:17:18 -07:00
Tim Kuehn
9a27465a25
Remove use of unstable feature 'try_trait'
2019-07-16 11:08:53 -07:00
Tim Kuehn
263cfe1435
Remove unused unstable feature 'integer_atomics'
2019-07-16 10:27:59 -07:00