google / google/tarpc

Non-tokio executor & timeouts

Open
#297 12 comments 2 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
3.7k
Forks
230
PR merge metrics
No merged PRs in 30d

Description

When using an executor that is different from tokio (in my case glib), launching a request from the client results in the following message at runtime:
```
050, marker: }), cache: ThreadCache { is_unread: true, has_attachment: false, tags: [] } }))
INFO inox_gtk::components::thread_view > load_thread: Thread { thread: Some(Thread { ptr: 0x55a29e2a0050, marker: }), cache: ThreadCache { is_unread: true, has_attachment: false, tags: [] } }
thread 'main' panicked at 'there is no timer running, must be called from the context of Tokio runtime', /home/dirk/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.13/src/time/driver/handle.rs:24:9
stack backtrace:
```

It seems tokio timeouts are not compatible with other runtimes. It'd be cool if there was a runtime-agnostic solution. Peraps https://github.com/async-rs/futures-timer ?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.