Waffle
558e7d5a72
Add IdleShutdownError
2021-06-27 10:50:47 +03:00
Waffle
0347f9e627
Replace ShutdownError
with ()
2021-06-26 23:21:44 +03:00
Waffle
483e544223
Apply suggestions from the review: rename AtomicShutdownState => DispatcherState, IsntRunning => Idle
2021-06-26 23:04:36 +03:00
Waffle
1795cb22c2
setup ^C handler in repls
2021-06-26 17:19:56 +03:00
Waffle
49848abd61
Doc fixes
2021-06-26 15:33:33 +03:00
Waffle
8e3ef4ab67
Minor Dispatcher
cleanup
2021-06-26 15:08:32 +03:00
Waffle
7cfb207b44
Wait for handlers to finish before shutting down dispatcher
...
This commit makes `Dispatcher::dispatch_with_listener` (and all it's derivatives
like `Dispatcher::dispatch`, `teloxide::repl`) to wait for handlers to finish
berfore shutting down.
This commit also changes self-type for `Dispatcher::dispatch_with_listener` and
`Dispatcher::dispatch` from `&Self` to `&mut Self` (this is required to wait
for handlers to finish).
Since unique reference is now required for listening,`Dispatcher::shutdown`
function is removed.
2021-06-26 14:33:10 +03:00
Waffle
569ef222fc
Add dispatcher shutdown token
...
This commit adds `ShutdownToken` which can be obrained throught
`Dispatcher::shutdown_token` and then later be used to shutdown dispatching.
2021-06-25 17:41:02 +03:00
Waffle
c378d6ef4e
Make StatefulListener::new
a little more convinient
...
Remove `timeout_hint` from the `StatefulListener::new` function. This parameter
is confusing and is likely to be set to `None` in most cases.
Add a `StatefulListener::new_with_timeout_hint` parameter which is the same as
the old `StatefulListener::new`.
2021-06-25 17:24:31 +03:00
Waffle
76dee997e0
Fix webhook examples (support graceful shutdown)
2021-06-25 16:57:24 +03:00
Waffle
8785b8263c
Fix overflow in dispatch_with_listener
2021-06-25 16:57:24 +03:00
Waffle
f58ae9b9ca
Make StatefulListener pub
2021-06-25 16:57:24 +03:00
Waffle
881aa3d6b6
Split update_listeners
into multiple modules
2021-06-25 16:57:24 +03:00
Waffle
a162478346
Switch graceful shutdown to cancelation token-like system
2021-06-25 16:57:24 +03:00
Waffle Lapkin
a8306ec3ff
Apply suggestions from code review
...
Co-authored-by: Hirrolot <hirrolot@gmail.com>
2021-06-25 16:57:24 +03:00
Waffle
00093664c7
Remove use of unstable feature (duration_zero)
...
The feature has been stabilized in 1.53.
2021-06-25 16:57:24 +03:00
Waffle
a5192a9ecb
Clippy
2021-06-25 16:57:24 +03:00
Waffle
d745f9bdb1
Remove send! macro
2021-06-25 16:57:24 +03:00
Waffle
f0de55ad55
Add Dispatcher::setup_ctrlc_handler
function.
...
This function sets up `^C` handler which shuts down dispatching.
2021-06-25 16:57:24 +03:00
Waffle
41a95079b2
Add Dispatcher::shutdown function
...
This function allows to gracefuly shutdown dispatching.
2021-06-25 16:57:24 +03:00
Waffle
eae2bced6d
Simplify polling
a little bit
2021-06-25 16:57:24 +03:00
Waffle
9f5a222ed7
Add UpdateListener::timeout_hint
2021-06-25 16:57:24 +03:00
Waffle
c288a540b9
Store fetched updates in polling::State
...
This way updates aren't lost when the stream is dropped.
2021-06-25 16:57:24 +03:00
Waffle
aeca45a579
Refactor UpdateListner
trait
...
Instead of `Stream` super trait we now require `for<'a> AsUpdateStream<'a, E'>`
as a super trait. `AsUpdateStream` in turn provides `as_stream` function which
takes `&mut self` and returns `Self::Stream` (the trait is needed to workaround
lack of GAT).
This patch also adds a `stop` function that allows stopping the listener.
Since `UpdateListner` now isn't `Stream` and required methods, it's blanked
implementation for streams was removed.
`polling` and `polling_default` functions now also require `R: 'static`.
2021-06-25 16:57:24 +03:00
Hirrolot
0f857e944b
feature = "nightly"
=> all(docsrs, feature = "nightly")
2021-06-18 22:17:08 +06:00
Hirrolot
6a7ad31fc9
Place the comment above feature(doc_cfg)
2021-06-18 22:07:37 +06:00
Hirrolot
74348b7236
Remove feature(external_doc)
completely
2021-06-18 21:44:10 +06:00
Hirrolot
fb0b267b94
Fix the removed feature external_doc
2021-06-18 21:35:54 +06:00
Hirrolot
f4260ed078
Replace lockfree
with flurry
2021-06-18 20:53:03 +06:00
Hirrolot
1d5859507a
Remove feature(extended_key_value_attributes)
2021-05-20 21:54:41 +06:00
Waffle
9b34586a04
Normalize docs
2021-05-15 23:37:14 +03:00
Temirkhan Myrzamadi
c0e3064785
Fmt
2021-05-10 12:13:07 +06:00
Hirrolot
7f578a8918
Paraphrase src/utils/command.rs
...
Co-authored-by: Waffle Lapkin <waffle.lapkin@gmail.com>
2021-05-09 23:06:35 -07:00
Temirkhan Myrzamadi
cf3639f68b
Document the "off" value as a command description
2021-05-10 08:55:43 +06:00
Temirkhan Myrzamadi
3b7ca4dabd
Merge
2021-05-08 19:02:35 +06:00
Temirkhan Myrzamadi
27eda5759c
RowNotFound -> DialogueNotFound
2021-05-08 19:00:38 +06:00
Hirrolot
de52ea25f9
Update src/dispatching/dialogue/storage/mod.rs
...
Co-authored-by: Waffle Lapkin <waffle.lapkin@gmail.com>
2021-05-08 05:43:34 -07:00
Hirrolot
80e1afaeed
Update src/dispatching/dialogue/storage/in_mem_storage.rs
...
Co-authored-by: Waffle Lapkin <waffle.lapkin@gmail.com>
2021-05-08 05:43:27 -07:00
Temirkhan Myrzamadi
d14e0a49e9
Merge branch 'fix-remove-dialogue-sqlite' of https://github.com/teloxide/teloxide into fix-remove-dialogue-sqlite
2021-05-08 18:41:53 +06:00
Temirkhan Myrzamadi
cb02b83520
Apply review suggestions
2021-05-08 18:41:34 +06:00
Hirrolot
94e61d3403
Refactor src/dispatching/dialogue/storage/redis_storage.rs
...
Co-authored-by: Waffle Lapkin <waffle.lapkin@gmail.com>
2021-05-08 05:39:18 -07:00
Temirkhan Myrzamadi
5585143ac2
Don't capitalise letters after dashes
2021-05-08 18:21:11 +06:00
Temirkhan Myrzamadi
721feb0082
Fix the tests
2021-05-08 17:38:03 +06:00
Temirkhan Myrzamadi
58c8015e78
Re-export InMemStorageError unconditionally
2021-05-08 17:25:53 +06:00
Temirkhan Myrzamadi
08bf40e555
Fail Storage::remove_dialogue if a dialogue doesn't exist
2021-05-08 17:21:24 +06:00
Temirkhan Myrzamadi
9e0de46918
Always remove a dialogue in SqliteStorage::remove_dialogue
2021-04-22 05:42:05 +06:00
Temirkhan Myrzamadi
17d14d2d53
Yet another dirty hack to please rustfmt
2021-04-05 21:19:29 +06:00
Temirkhan Myrzamadi
bc9972bdf2
Move the features section to lib.rs
2021-04-05 19:48:56 +06:00
Temirkhan Myrzamadi
bf8d2fa51b
Paraphrase #[must_use]
2021-04-03 14:21:06 +06:00
Temirkhan Myrzamadi
44956a4f85
Add descriptions of #[must_use] in Storage
2021-04-03 13:28:26 +06:00