Commit Graph
64 Commits
Author SHA1 Message Date
James NugentandLucio Franco 85060500f3 fix(transport): Remove support for OpenSSL (#141)
BREAKING CHANGE: Remove support for OpenSSL within the transport.
2019-11-15 13:30:42 +01:00
Jake ShadleandJames Nugent fbd91c3773 chore(build): Add cargo-deny CI workflow and configuration 2019-11-14 18:59:04 +02:00
Juan AlvarezandLucio Franco 85ef18f8b7 fix(transport): Update builders to move self (#132) 2019-11-11 15:27:40 +01:00
James NugentandLucio Franco 79996f7c93 Allow selection of TLS library in Interop tests (#129) 2019-11-10 17:28:03 +01:00
Juan AlvarezandLucio Franco 3809f18dc6 update to stable toolchain (#122)
* update to stable toolchain

* remove toolchan note from routeguide
2019-11-09 09:54:18 +00:00
Koki KatoandLucio Franco 0f5059a5ee chore(tutorials): Add another .await after client connect call (#112) 2019-11-02 12:15:45 -04:00
Juan AlvarezandLucio Franco 46bb2bf2a4 fix error in routeguide tutorial (#111) 2019-11-01 19:46:08 -04:00
WilcovandLucio Franco c9b7523a5b chore(tutorials): Add .await after client connect call (#109)
Both tutorials were missing .await on the client connect call, causing the compiler to issue errors.
Thanks for alce#6260 on the #tonic-users discord channel for providing the answer.
2019-10-31 17:54:21 -04:00
Lucio FrancoandGitHub 3a39b1e7c8 chore: Prepare alpha.5 release (#108)
Signed-off-by: Lucio Franco <[email protected]>
2019-10-31 14:26:35 -04:00
Lucio FrancoandGitHub 5c2f4dba32 feat(transport): Change channel connect to be async (#107)
This makes it so you can check if the initial connection
is established. Before this we used reconnect which would
lazily attempt to connect. So if you were trying to connect
to a non existant Server you wouldn't find out until after
you attempted your first RPC. This simplifies everything
by allowing you connect before creating the RPC client.

BREAKING CHANGE: `Endpoint::channel` was removed in favor of
an async `Endpoint::connect`.
2019-10-31 14:09:40 -04:00
Lucio FrancoandGitHub 3ce61d9860 fix(codec): Enforce encoders/decoders are Sync (#84)
Closes #81
2019-10-30 15:00:31 -04:00
Lucio FrancoandGitHub 5b4f4689a2 feat(transport): Add service multiplexing/routing (#99)
* feat(transport): Add service multiplexing/routing

This change introduces a new "router" built on top of
`transport::Server` that allows one to run multiple
gRPC services on the same socket.

```rust
Server::builder()
    .add_service(greeter)
    .add_service(echo)
    .serve(addr)
    .await?;
```

There is also a new `multiplex` example showcasing
server side service multiplexing and client side
service multiplexing.

BREAKING CHANGES: `Server::serve` is now crate private
and all services must be added via `Server::add_service`.
Codegen also returns just a `Service` now instead of a
`MakeService` pair.

Closes #29

Signed-off-by: Lucio Franco [email protected]
2019-10-29 16:32:04 -04:00
Lucio FrancoandGitHub a17049f1f7 fix(codec): Remove custom content-type (#104)
This removes custom content-types in favor of
just using `application/grpc`. There is some
confusion around the specification but most
grpc implementations ignore the `+` and
anything after.
2019-10-29 16:12:41 -04:00
Matt ConwayandLucio Franco af5754bd43 chore(docs): Bump tonic versions in tutorials (#96) 2019-10-26 22:44:01 -04:00
Matt ConwayandLucio Franco 8ebedcde2f chore(docs): Add helloworld tutorial (#80) 2019-10-22 19:03:39 -04:00
James NugentandLucio Franco 335a373a40 feat(transport): Add support client mTLS (#77)
This commit adds a simple API for specifying the TLS certificate a GRPC
client will present (via the same `Identity` wrapper as a server cert is
configured). It also adds an API to specify which CA certificate client
TLS certificates will be validated against for servers.
2019-10-22 17:00:08 -04:00
Juan AlvarezandLucio Franco 5d0a795554 feat(docs): Add routeguide tutorial (#21) 2019-10-18 18:02:48 -04:00
Juan AlvarezandLucio Franco 7eda823c9c fix(client): Use Stream instead of TrySteam for client calls (#61) 2019-10-10 11:39:35 -04:00
James NugentandLucio Franco 8db3961491 feat(transport): Expose more granular control of TLS configuration (#48)
This commit reworks TLS configuration of both servers and endpoints in
order to provide a more flexible API. We now add options to configure
the selected TLS library using the appropriate 'native' configuration
structures, as well as retaining the existing simplier interface which
is compatible with both.

The new API can also be easily extended to support simple interfaces for
configuring mTLS and a range of other options without creating sprawl
in the builders for `Server` and `Endpoint`.
2019-10-08 11:49:05 -04:00
Kevin ZhangandLucio Franco afa9d9d236 Fix typo in examples readme (#36) 2019-10-03 16:09:39 -04:00
Lucio FrancoandGitHub 8f80d0f6d1 chore(docs): Update tonic-build docs (#22) 2019-10-01 19:34:45 -04:00
Lucio FrancoandGitHub 40973238d6 Add CI workflow (#23)
* Add CI workflow

* Delete interop.yml

* Delete test.yml

* deny warnings

* Fix unused mut
2019-10-01 19:26:17 -04:00
Juan AlvarezandLucio Franco cd0b8424b9 pin all alpha dependencies (#19) 2019-10-01 15:54:32 -04:00
Juan AlvarezandLucio Franco d275785c55 Update dependencies (#18)
* update dependencies

* tonic-examples: Lock -> Mutex
2019-10-01 15:04:07 -04:00
Simon ChemouilandLucio Franco 02d14da3d6 Fix serde version in examples (#17) 2019-10-01 10:00:29 -04:00
BhargavandLucio Franco 6fe8957fa7 Add note on required dependencies (#16) 2019-09-30 21:55:13 -04:00
Lucio Franco 9af614e5f7 fix examples 2019-09-30 19:36:18 -04:00
BhargavandLucio Franco 1c751d4404 add note on required dependencies (#15)
* add note on required dependencies

* Include build dependencies in codegen
2019-09-30 19:03:07 -04:00
John DonethandLucio Franco 3edaa424d9 Include proto macros (#13) 2019-09-30 14:05:37 -04:00
Lucio Franco a9f7992585 Remove more tODO's 2019-09-29 22:38:28 -04:00
Lucio Franco 529c3fc0ab Add examples readme 2019-09-29 21:01:29 -04:00
Lucio Franco a8ef9d6c42 Add tls example with rustls 2019-09-29 19:45:05 -04:00
Lucio Franco 2c2b7d7904 Add auth and lb example 2019-09-29 18:33:28 -04:00
Lucio Franco 60c9629630 Refactor all of the tls 2019-09-24 14:32:16 -04:00
John DonethandLucio Franco eb0c0c286b Improve tonic-build configuration (#2) 2019-09-23 09:32:44 -04:00
Lucio Franco 922e480cec Add easy connect method in codegen 2019-09-21 14:21:28 -06:00
Lucio Franco 322f346b97 Use tokio::spawn in routeguide 2019-09-21 11:09:57 -06:00
Lucio Franco fe1e040975 Update deps and tower releases 2019-09-11 22:35:47 -04:00
Lucio Franco 0c682536b8 disable rustfmt for all 2019-09-06 18:29:17 -04:00
Lucio Franco cc8a7bfcbf make rustfmt optional 2019-09-06 18:25:27 -04:00
Lucio Franco 8b548f2ea4 Nest server and client in their own mods 2019-09-06 17:52:41 -04:00
Lucio Franco ec5778dfa1 Update interop server 2019-09-06 15:37:08 -04:00
Lucio Franco d0cfafafc6 Move codegen to build and remove macros 2019-09-06 15:19:18 -04:00
Lucio Franco 295e7321b9 Add first step of async-trait 2019-09-06 01:30:51 -04:00
Lucio Franco 77a6c89ae9 Add server docs 2019-09-04 16:38:46 -04:00
Lucio Franco b1cf35e35d Add server and basic server side tls 2019-09-02 23:02:02 -04:00
Lucio Franco 6d09f4de25 Add use_tls option for interop tests 2019-09-02 18:20:22 -04:00
Lucio Franco b82439af17 Switch to using endpoint 2019-09-02 18:11:36 -04:00
Lucio Franco 782c0c19db Add basic load balancing 2019-09-02 16:39:16 -04:00
Lucio Franco 4861354d46 remove extra path deps 2019-09-01 12:53:12 -04:00