Commit Graph
121 Commits
Author SHA1 Message Date
Paul WellsandGitHub c8bd2dcb0b generate unimplemented psrpc server (#108) 2025-09-10 17:12:30 -07:00
Benjamin PrachtandGitHub b1be172cd6 Add UnprocessableEntity (#107) 2025-08-28 16:58:57 -07:00
Denys SmirnovandGitHub 294e6e039f Support OpenTelemetry traces for regular RPCs (#106)
* Support OpenTelemetry traces for regular RPCs.
2025-07-26 21:06:11 +03:00
Denys SmirnovandGitHub 0d3b81f3d1 Properly consider gRPC error statuses when retrying. (#105) 2025-07-24 19:18:01 +03:00
Paul WellsandGitHub f07e1b218a update mageutil for license (#104) 2025-05-10 22:31:45 -07:00
Denys SmirnovandGitHub aafbe4b4f4 Fix unwrapping of gRPC OK status. (#103) 2025-02-05 20:18:28 +02:00
Denys SmirnovandGitHub 5dca65aacb Fix gRPC error propagation. (#102) 2025-02-04 23:23:39 +02:00
Denys SmirnovandGitHub 2a293dac9e Allow passing custom error details, similar to gRPC. (#101) 2025-01-29 18:19:55 +02:00
Denys SmirnovandGitHub 4a7c5603ff Run Redis and NATS in Docker during tests. (#100) 2025-01-27 20:35:26 +02:00
Raja SubramanianandGitHub 8d4940d44b Delete SetChannelMode (#99) 2024-10-18 18:18:27 +05:30
David ColburnandGitHub 248dc5f10f 503 for timeout errors (#98) 2024-09-23 21:07:58 -04:00
Paul WellsandGitHub d405a12ed7 generate client close funcs (#97) 2024-09-20 23:37:02 -07:00
Paul WellsandGitHub ef56bb913a fix open stream metric (#96) 2024-06-15 18:24:58 -07:00
Paul WellsandGitHub 096670b9b8 add message bytes to metrics middleware (#95) 2024-05-26 12:29:18 -07:00
Paul WellsandGitHub cb3264b945 unblock subscriptions on close (#94) 2024-04-25 21:50:48 -07:00
Paul WellsandGitHub 59837372c0 allow multiple subs for the same nats topic (#93)
* allow multiple subs for the same nats topic

* test
2024-04-03 08:06:41 -07:00
Sean DuBoisandGitHub 8545d9c856 Add error logging to redisWriteOpQueue (#92)
Resolves livekit/livekit#2502
2024-03-26 23:59:54 -04:00
Paul WellsandGitHub c250cd90ce clean up legacy nats bus features (#91)
* clean up legacy nats bus features

* cleanup

* cleanup
2024-03-26 03:11:39 -07:00
Paul WellsandGitHub 5c404ca653 prevent encoding empty topic segments (#90)
* prevent encoding empty topic segments

* tidy
2024-03-14 21:57:30 -07:00
Paul WellsandGitHub 8ae8bd90c4 fix topic length check (#89) 2024-03-12 04:02:12 -07:00
Paul WellsandGitHub 28644f0103 fix topic segment formatting (#88)
* fix topic segment formatting

* cleanup
2024-03-11 23:47:08 -07:00
Paul WellsandGitHub c8e483a0c4 revert change to queue methods (#87)
* revert change to queue methods

* claim channel is never queue

* test
2024-03-10 18:08:27 -07:00
Paul WellsandGitHub 10b2b39cab add support for wildcard nats topics (#86)
* add support for wildcard nats topics

* disambiguate topicless server rpc channels and client channels

* cleanup

* cleanup

* channel format

* cleanup

* split queue subs

* cleanup

* move queue flag

* send local router channel in envelope

* test
2024-03-10 13:04:59 -07:00
Denys SmirnovandGitHub 31b290aa57 Honor context timeout in the client. (#84) 2024-02-28 19:24:57 +02:00
Denys SmirnovandGitHub 98c16b4550 Update usage of core.Fuse. (#83) 2024-02-27 17:43:51 +02:00
David ColburnandGitHub 0611542c99 custom server selection (#82) 2024-02-08 16:13:57 -08:00
David ColburnandGitHub 84d7ae1253 Add randomness to server selection (#81)
* add randomness to server selection

* change to request option
2024-01-29 14:39:32 -08:00
0d569528a3 fix redis pubsub receive message (#80)
* fix redis pubsub receive message

* add backoff to read retry delay

---------

Co-authored-by: Paul Wells <[email protected]>
2024-01-26 10:21:21 -08:00
Paul WellsandGitHub b7d85f83cc add test middleware to simulate link latency (#78)
* add test middleware to simulate link latency

* handle timer race

* cleanup
2023-12-13 21:50:26 -08:00
Benjamin PrachtandGitHub c7f287e45d Allow specifying custom retry behavior in retry middleware (#77)
Add an optional GetRetryParameters function member to RetryOptions. When defined, this will be called before each retry attempt and allow specifying whether to retry, the timeout, and a duration to wait before retrying.

Also add a simple unit test for the retry middleware.
2023-12-13 15:06:38 -08:00
Paul WellsandGitHub 5f0110939b timeout unanswered requests quickly (#76) 2023-11-18 06:27:18 -08:00
Paul WellsandGitHub 897561cda5 fix out of bounds slice access handling queue sub (#75) 2023-11-13 00:59:12 -08:00
Paul WellsandGitHub eaebff449f reuse one redis client for all subscriptions (#74)
* reuse one redis client for all subscriptions

* update deps

* update deps

* update deps

* update go

* test

* naming

* parallelize publish ops
2023-11-12 23:57:19 -08:00
David ColburnandGitHub 4762aefeb9 generate client and server ids (#73)
* generate client and server ids

* add option to supply ids
2023-10-25 18:22:56 -07:00
Paul WellsandGitHub 46e97f9b96 relax runtime compatibility check (#72)
* relax runtime compatibility check

* update deps
2023-10-23 19:29:15 -07:00
David ColburnandGitHub f9ce87b4f2 Affinity context (#71)
* add context to affinity

* update version
2023-10-23 16:29:31 -07:00
Paul WellsandGitHub dc1506aa6a allow adding interceptors via request options (#70) 2023-10-06 07:12:45 -07:00
Paul WellsandGitHub 3a108b74e9 add unreliable bus test utility (#69) 2023-10-05 02:08:40 -07:00
Paul WellsandGitHub 7f12450abc add test bus wrapper (#68) 2023-09-20 19:40:16 -07:00
David ColburnandGitHub 2e4bde975b RPCs queue by default (#67)
* rpcs queue by default

* leave retries to interceptor

* use new enum

* increase affinity timeout in test

* fix affinity generation
2023-08-16 14:38:06 -07:00
David ZhaoandGitHub b9d96f15f1 Added license headers (#66) 2023-07-27 16:16:48 -07:00
David ColburnandGitHub 684f32e1ca Max affinity (#65)
* max affinity

* version bump
2023-07-12 18:19:11 -04:00
Paul WellsandGitHub d6e6b7f3ac set rpc context deadline (#64)
* set rpc context deadline

* fix timestamps
2023-06-20 09:54:20 -07:00
Paul WellsandGitHub 638d2b34fc add option to use pubsub queue to select unary rpc server (#63)
* add option to use pubsub queue to select unary rpc server

* add oneof for routing options
2023-06-05 11:54:10 -07:00
Paul WellsandGitHub 6f558ac36f prevent race between stream close and pending accounting (#62)
* prevent race between stream close and pending accounting

* cleanup

* fix flaky test
2023-05-28 01:38:49 -07:00
Benjamin PrachtandGitHub 7769956827 Add not acceptable error (#61) 2023-05-18 16:43:41 -07:00
Paul WellsandGitHub 110c3a52f9 include error code in unwrapped psrpc errors (#59) 2023-05-02 08:21:50 -07:00
Paul WellsandGitHub 3b78aca8e4 mark stream closed before teardown (#58) 2023-04-24 19:56:40 -07:00
Paul WellsandGitHub 437aa25cfa use waitgroup for active work accounting (#57) 2023-04-24 18:23:09 -07:00
Paul WellsandGitHub 2da8f1326c prevent send on closed channel during read/close race (#56)
* prevent send on closed channel during read/close race

* cleanup
2023-04-23 23:44:51 -07:00