Commit Graph
100 Commits
Author SHA1 Message Date
Lucio FrancoandGitHub a6c77d1f77 chore: Prepare 0.6.1 (#814) 2021-10-26 20:29:35 -04:00
Lucio FrancoandGitHub 2a3e9b2f6f fix(transport): Bump hyper to 0.14.14 (#813) 2021-10-26 20:14:08 -04:00
Lucio FrancoandGitHub 2fe7131a23 chore: Prepare 0.6.0 release (#811) 2021-10-25 10:25:56 -04:00
Lucio FrancoandGitHub 23c1392fb7 fix(tonic): Remove Sync requirement for streams (#804) 2021-10-24 21:48:05 -04:00
Lucio FrancoandGitHub 1f3df8db9e chore: Upgrade to 2021 edition (#808) 2021-10-24 21:12:20 -04:00
Lucio FrancoandGitHub cc2b1634e2 chore: Update intra doc link lint name (#805) 2021-10-22 11:31:36 -04:00
Lucio FrancoandGitHub bbcacd0625 chore: Fix routeguide example warning (#807) 2021-10-22 11:17:04 -04:00
Lucio FrancoandGitHub 3ab00f304d fix(transport): AddOrigin panic on invalid uri (#801) 2021-10-22 08:45:04 -04:00
Lucio FrancoandGitHub 4054d61e14 fix(tonic): Status code to set correct source on unkown error (#799) 2021-10-19 11:52:59 -04:00
Lucio FrancoandGitHub 4604042934 Add streaming example w/ client disconnect (#782) 2021-10-07 17:04:26 -04:00
Lucio FrancoandGitHub 0e33a0241e feat(transport): Add Connected impl for DuplexStream (#722) 2021-07-13 15:39:42 -04:00
Lucio Franco 5bb1a029a1 Fix tonic-types and health versions 2021-07-08 15:57:25 -04:00
040e3a4811 chore: Prepare v0.5 release (#706)
* bump tonic version to 0.5

* Update changelog for 0.5

* Update CHANGELOG.md

Co-authored-by: David Pedersen <[email protected]>

* address comments

Co-authored-by: David Pedersen <[email protected]>
2021-07-08 15:53:14 -04:00
Lucio FrancoandGitHub 2346d99f6e example: Add mocked io example (#677)
* example: Add mocked io example

* fix mock example

* Remove uniex bound for mock impl
2021-07-08 10:45:04 -04:00
Lucio Franco 7677ad6476 Fix connect with connector lazy 2021-07-01 18:31:39 +00:00
Lucio FrancoandGitHub 2a46ff5c96 feat(transport): Add connect_with_connector_lazy (#696)
Closes #695
2021-07-01 14:13:41 -04:00
Lucio FrancoandGitHub 737ace393d fix(codec): Fix streaming reponses w/ many status (#689)
Closes #681
2021-07-01 10:25:43 -04:00
Lucio FrancoandGitHub 8fa6daae92 chore: Prepare tonic 0.4.2 and health 0.3.1 (#605) 2021-04-13 18:20:13 -04:00
Lucio Franco 7aaa2f85d9 Revert "Remove grpc-timeout header from reserved headers (#603)"
This reverts commit 0b535985c8.
2021-04-13 21:59:16 +00:00
Lucio Franco 74148549ff Add readme to reflection 2021-03-17 16:35:36 +00:00
Lucio FrancoandGitHub db0909382b fix(reflection): Depend on correct version of build (#582) 2021-03-17 12:31:52 -04:00
Lucio Franco e511f17c1c Fix tonic-health cargo path issues 2021-01-15 13:56:24 -05:00
Lucio FrancoandGitHub fda2d689d4 chore: Prepare 0.4 release (#538)
* Prepare `0.4` release

* Fix cargo issues
2021-01-15 13:38:36 -05:00
Lucio FrancoandGitHub a7778ad166 feat(transport): Move error! to debug! (#537) 2021-01-15 12:51:28 -05:00
dafea9adee fix(transport): return Poll::ready until error is consumed (#536)
* fix(transport): return Poll::ready until error is consumed

When a lazy connection fails to connect it first
returns Poll::ready from the reconnect service,
yet the subsequent call returns Poll::pending
making tower_balance loop forever.
Instead, on error we return Ready
until the error is consumed in the
call method.

* chore: revert version change

* refactor: Into<Error> bounds for error intead of debug

* Remove fmt::Debug bound for reconnect

Co-authored-by: Helge Hoff <[email protected]>
2021-01-15 12:34:41 -05:00
Lucio FrancoandGitHub 41c51f1c61 feat(transport): Fix TLS accept w/ peer certs (#535)
* feat(transport): Fix TLS accept w/ peer certs

* fix unused var

* fix feature flag imports

* spawn accept task
2021-01-15 11:59:26 -05:00
Lucio FrancoandGitHub 4974604c0b ci: Disable deny workflow (#534) 2021-01-14 16:42:12 -05:00
Lucio FrancoandGitHub 9ea4a64a6c examples: Add tower-client example (#466) 2020-09-29 11:16:07 -04:00
Lucio FrancoandGitHub 90858926b6 chore: Prepare 0.3.1 release (#436) 2020-08-20 10:49:12 -04:00
Lucio FrancoandGitHub 73938e1e0a chore: Fix typo in uds example (#417)
Closes #350
2020-07-27 15:38:47 -04:00
Lucio FrancoandGitHub 2ea17b2ecf fix(transport): Return connection error on Channel::connect (#413)
Before this fix, if the connect phase of the transport failed before
ever establishing a connection, we would never return the error until
the first call to send a request. This PR changes that behavior to only
forward the error to the call method if we have ever made a connection
before. If we have never established a connection before then
`Reconnect` will return an error on the call to `poll_ready`.

Fixes #403
2020-07-27 12:44:11 -04:00
Lucio FrancoandGitHub 8212afdf85 chore: Prepare tonic-health release 0.2.0 (#411) 2020-07-23 15:41:26 -04:00
Lucio FrancoandGitHub 2022fa9c53 chore: Ignore ansi_term in deny.toml (#406) 2020-07-20 16:58:28 -04:00
Lucio Franco ecb1920782 fix doc link 2020-07-13 13:02:44 -04:00
Lucio FrancoandGitHub 62b8ab0b51 chore: Prepare 0.3.0 release (#399)
* chore: Prepare 0.3.0 release

* update changelog

* fix builds

* Update breaking changes
2020-07-13 13:00:54 -04:00
Lucio FrancoandGitHub a567f17e52 chore: Prepare 0.2.2 release (#396) 2020-07-10 12:59:22 -04:00
Lucio FrancoandGitHub 2c4c544d90 fix: Status::details leaking base64 encoding (#395)
Fixes #379
2020-07-10 12:40:55 -04:00
Lucio FrancoandGitHub 98bcc339b1 Rename get_uri to uri (#393)
* Rename `get_uri` to `uri`

* Fix doc test
2020-07-10 11:45:33 -04:00
Lucio FrancoandGitHub c9b3c7f11c Fix hyper_warp example warnings (#390) 2020-07-10 11:28:13 -04:00
Lucio FrancoandGitHub ea7fe66b14 feat(types): Add tonic-types crate (#391) 2020-07-08 18:01:16 -04:00
Lucio FrancoandGitHub 9c50d759de Fix deny warnings (#389) 2020-07-06 11:53:30 -04:00
Lucio FrancoandGitHub 59ce1d2590 chore: Prepare 0.2.1 release (#346) 2020-05-07 15:46:45 -04:00
Lucio FrancoandGitHub e683ffef1f fix: base64 encode details header (#345) 2020-05-07 15:31:26 -04:00
Lucio FrancoandGitHub 70b345fc98 Update LICENSE 2020-04-09 10:53:33 -04:00
Lucio Franco 9ebc6f6667 chore: Add tonic-health readme`
Signed-off-by: Lucio Franco <[email protected]>
2020-04-01 14:45:05 -04:00
Lucio FrancoandGitHub 6f378e2bd0 chore: Prepare 0.2 release (#321)
Signed-off-by: Lucio Franco <[email protected]>
2020-04-01 14:34:51 -04:00
Lucio FrancoandGitHub 04a8c0c82a fix(transport): Handle tls accepting on task (#320)
Signed-off-by: Lucio Franco <[email protected]>
2020-04-01 13:02:19 -04:00
Lucio FrancoandGitHub e5b1f8a172 chore: Rename internal uuid crate (#319)
Signed-off-by: Lucio Franco <[email protected]>
2020-04-01 12:35:11 -04:00
Lucio FrancoandGitHub 202093c317 feat(build): Add support for custom prost config (#318)
Signed-off-by: Lucio Franco <[email protected]>
2020-04-01 11:58:53 -04:00
Lucio FrancoandGitHub 555323630a chore: Update tokio-util 0.3 (#315)
Signed-off-by: Lucio Franco <[email protected]>
2020-03-31 15:06:52 -04:00
Lucio FrancoandGitHub 3cba9f5f6f chore: Fix feature flags and build docs (#311)
Signed-off-by: Lucio Franco <[email protected]>
2020-03-30 12:02:10 -04:00
Lucio FrancoandGitHub 2e082f8b3e chore(build): Refactor codegen traits (#302)
Signed-off-by: Lucio Franco <[email protected]>
2020-03-29 12:57:11 -04:00
Lucio FrancoandGitHub 7dfa2a277b fix(build): Ignore non .rs files with rustfmt (#284)
Fixes #283
2020-03-05 15:21:02 -05:00
Lucio FrancoandGitHub e2bff8f13e chore(docs): Add warp + tonic example (#268)
Signed-off-by: Lucio Franco <[email protected]>
2020-02-16 15:13:22 -05:00
Lucio FrancoandGitHub b49ad9bb47 chore(docs): Add hyper example (#267)
Signed-off-by: Lucio Franco <[email protected]>
2020-02-16 12:46:55 -05:00
Lucio FrancoandGitHub 66ac4c4049 chore: Prepare 0.1.1 release (#246)
* chore: Prepare 0.1.1 release

* add missing pr
2020-01-20 11:53:45 -05:00
Lucio FrancoandGitHub 6de0b4d26f fix(transport): Use Uri host if no domain for tls (#244)
* fix(transport): Use Uri host if no domain for tls

* Fix warnings
2020-01-20 11:21:44 -05:00
Lucio FrancoandGitHub f4ecf47428 chore: Prepare 0.1.0 release (#234) 2020-01-14 09:36:19 -05:00
Lucio FrancoandGitHub eba7ec7b32 feat: Add gRPC interceptors (#232)
This change introduces proper gRPC interceptors that are avilable
regardless of the transport used. Each codegen service now produces an
additional method called `with_interceptor` that accepts a
`Interceptor`.

All examples have been updated to use this new style and interop has a
custom `tower::Service` middleware to echo the headers. There is also a
new `interceptor` example that shows basic usage.

BREAKING CHANGE: removed `interceptor_fn` and `intercep_headers_fn` from `transport` in favor of using `tonic::Interceptor`.
2020-01-13 21:26:08 -05:00
Lucio FrancoandGitHub af807c3ccd feat(transport): Add server side peer cert support (#228)
* feat(transport): Add server side peer cert support
2020-01-11 14:17:19 -08:00
Lucio FrancoandGitHub 6673f91f1f chore: Remove required bytes dep and clean up deny (#227)
* chore: Remove required bytes dep and clean up deny

* Fix interop test cli args
2020-01-11 12:48:24 -08:00
Lucio FrancoandGitHub 18e944bd28 chore: Update prost codec to not use workaround (#226) 2020-01-11 12:27:00 -08:00
Lucio FrancoandGitHub a66595bfe3 feat(transport): Add serve_with_incoming_shutdown (#220) 2020-01-08 11:00:57 -05:00
Lucio FrancoandGitHub 61a770dedf chore: Prepare 0.1.0-beta.1 release (#200)
* chore: Prepare `0.1.0-beta.1` release

* Update changelog

* Fix tower paths
2019-12-19 18:44:25 -05:00
Lucio FrancoandGitHub 8efdbb4631 chore: Use released version of tower (#199)
* chore: Use released version of tower

* Update the rest
2019-12-19 18:31:40 -05:00
Lucio FrancoandGitHub 82facb6283 chore: Apply clippy (#189) 2019-12-13 23:55:49 -05:00
Lucio FrancoandGitHub 502491a590 fix(transport): Remove with_rustls for tls config (#188) 2019-12-13 20:31:22 -05:00
Lucio FrancoandGitHub 3eb76abf9f feat(transport): Add remote_addr to Request on the server si… (#186) 2019-12-13 20:25:00 -05:00
Lucio FrancoandGitHub 0505dff65a fix(transport): Fix lazily reconnecting (#187)
Closes #167
2019-12-13 20:24:45 -05:00
Lucio FrancoandGitHub 97d5363e2b fix(build): Remove async ready (#185)
* fix(build): Remove async ready

* fix build
2019-12-13 18:19:23 -05:00
Lucio FrancoandGitHub b90c340800 feat(transport): Allow custom IO and UDS example (#184)
Closes #136
2019-12-13 17:14:49 -05:00
Lucio FrancoandGitHub bab1d5d255 chore: Fix readme links (#181) 2019-12-12 12:02:01 -05:00
Lucio FrancoandGitHub d9a481baef chore: Reorganize examples and interop crates (#180)
* chore: Reorganize examples and interop crates

* fix interop tests
2019-12-12 11:53:15 -05:00
Lucio FrancoandGitHub 8f1a25278e chore: Remove unused files (#178) 2019-12-11 22:32:48 -05:00
Lucio FrancoandGitHub f46a45401d feat(transport): Add tracing support to server (#175)
* feat(transport): Add tracing to server

* Add tracing example

* Fix duplicate versions of tracing-subscriber
2019-12-11 19:45:11 -05:00
Lucio FrancoandGitHub 1626c2eae0 chore(transport): Clean up server and channel (#174)
* chore(transport): Clean up server and channel

* Fix tls feature compilation
2019-12-11 18:19:11 -05:00
Lucio FrancoandGitHub 0847b67c4e fix(build): Allow creating multiple services in the same package (#173)
BREAKING CHANGE: Build will now generate each service client and server into their own modules.
2019-12-11 16:22:03 -05:00
Lucio FrancoandGitHub cce550be85 chore: More clean up (#172)
* Clean up client and codec

* Clean up codegen, server and upgrade hyper
2019-12-11 16:05:30 -05:00
Lucio FrancoandGitHub 3387ef900f Upgrade to tokio 0.2 (#163) 2019-12-06 00:09:46 -05:00
Lucio FrancoandGitHub 4471a5f19c chore(interop): Update console dep (#155) 2019-11-26 09:50:01 -05:00
Lucio FrancoandGitHub 5fe21f3b24 chore: Prepare alpha.6 release (#130) 2019-11-10 17:40:51 +01:00
Lucio FrancoandGitHub 23e7695800 fix(transport): Load balance connecting panic (#128)
Closes #127
2019-11-10 16:28:05 +01:00
Lucio FrancoandGitHub 23f648b517 chore(docs): Add docs about Channel multiplexing (#113)
Signed-off-by: Lucio Franco <[email protected]>
2019-11-03 20:05:21 -05: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
108bad0d86 chore: Add cargo-hack to check features (#105)
* chore: Add `cargo-hack` to check features

Signed-off-by: Lucio Franco <[email protected]>

* Update .github/workflows/CI.yml

Co-Authored-By: Taiki Endo <[email protected]>
2019-10-31 12:19:52 -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
Lucio FrancoandGitHub 77fc74038f chore: Prepare alpha.4 release (#91)
* chore: Prepare alpha.4 release

* Update changelog
2019-10-23 15:09:49 -04:00
Lucio FrancoandGitHub 1dbde95d84 fix(build): Fix service and rpc name conflict (#92)
Closes #89
2019-10-23 15:01:04 -04:00
Lucio FrancoandGitHub 18c20a9c0d chore(readme): Remove readme examples (#79)
* chore(readme): Remove readme examples

This swaps out the readme example to use instead a link to the
routeguide tutorial.

* Add helloworld tutorial
2019-10-23 10:13:14 -04:00
Lucio FrancoandGitHub 8cddf8a12c chore: Prepare 0.1.0-alpha.3 release (#65) 2019-10-09 17:27:15 -04:00
Lucio FrancoandGitHub 4628ff0258 chore: Prepare 0.1.0-alpha.2 release (#58)
Signed-off-by: Lucio Franco <[email protected]>
2019-10-07 22:01:59 -04:00
Lucio FrancoandGitHub 01e72d9a95 chore(build): Fix wrong output type used in replace (#50) 2019-10-05 14:18:13 -04:00
Lucio FrancoandGitHub 4e1fcece15 fix(codegen): Use wellknown types from prost-types (#49)
This change introduces the ability to let prost-build
provide the fully qualifed type path for types that
start with `google.protobuf`.
2019-10-05 13:16:09 -04:00
Lucio FrancoandGitHub ed3e7e95a5 fix(codec): Fix buffer decode panic on full (#43)
* fix(codec): Fix buffer decode panic on full

This is a naive fix for the buffer growing beyond capacity
and producing a panic. Ideally we should do a better job
of not having to allocate for new messages by using
a link list.

* fmt
2019-10-04 19:17:41 -04:00
Lucio FrancoandGitHub 4559613c37 feat(codgen): Add default implementations for the generated serve… (#27)
* Rename servce -> server

* Add default impl for server trait
2019-10-02 16:01:44 -04:00
Lucio FrancoandGitHub 2670b349f9 fix(codegen): Fix Empty protobuf type and add unimplemented (#26)
* Add license attribute to tonic-build

* fix(codegen): Fix Empty protobuf type and add unimplemented

* Remove syn full feature
2019-10-01 23:46:54 -04:00
Lucio Franco 2734d3af28 Point tonic to root readme 2019-10-01 22:32:06 -04:00