|
16 | 16 | //! - [Quickstart](https://docs.restate.dev/get_started/quickstart?sdk=rust) |
17 | 17 | //! - [Do the Tour of Restate to try out the APIs](https://docs.restate.dev/get_started/tour/?sdk=rust) |
18 | 18 | //! |
| 19 | +//! # Features |
| 20 | +//! |
| 21 | +//! Have a look at the following SDK capabilities: |
| 22 | +//! |
| 23 | +//! - [Service Communication][crate::context::ContextClient]: Durable RPC and messaging between services (optionally with a delay). |
| 24 | +//! - [Journaling Results][crate::context::ContextSideEffects]: Persist results in Restate's log to avoid re-execution on retries |
| 25 | +//! - State: [read][crate::context::ContextReadState] and [write](crate::context::ContextWriteState): Store and retrieve state in Restate's key-value store |
| 26 | +//! - [Scheduling & Timers][crate::context::ContextTimers]: Let a handler pause for a certain amount of time. Restate durably tracks the timer across failures. |
| 27 | +//! - [Awakeables][crate::context::ContextAwakeables]: Durable Futures to wait for events and the completion of external tasks. |
| 28 | +//! - [Error Handling][crate::errors]: Restate retries failures infinitely. Use `TerminalError` to stop retries. |
| 29 | +//! - [Serialization][crate::serde]: The SDK serializes results to send them to the Server. |
| 30 | +//! - [Serving][crate::http_server]: Start an HTTP server to expose services. |
| 31 | +//! |
19 | 32 | //! # SDK Overview |
20 | 33 | //! |
21 | 34 | //! The Restate Rust SDK lets you implement durable handlers. Handlers can be part of three types of services: |
|
179 | 192 | //! - [Virtual Object](object) |
180 | 193 | //! - [Workflow](workflow) |
181 | 194 | //! |
182 | | -//! # Features |
183 | | -//! |
184 | | -//! Have a look at the following SDK capabilities: |
185 | | -//! |
186 | | -//! - [Service Communication][crate::context::ContextClient]: Durable RPC and messaging between services (optionally with a delay). |
187 | | -//! - [Journaling Results][crate::context::ContextSideEffects]: Persist results in Restate's log to avoid re-execution on retries |
188 | | -//! - State: [read][crate::context::ContextReadState] and [write](crate::context::ContextWriteState): Store and retrieve state in Restate's key-value store |
189 | | -//! - [Scheduling & Timers][crate::context::ContextTimers]: Let a handler pause for a certain amount of time. Restate durably tracks the timer across failures. |
190 | | -//! - [Awakeables][crate::context::ContextAwakeables]: Durable Futures to wait for events and the completion of external tasks. |
191 | | -//! - [Error Handling][crate::errors]: Restate retries failures infinitely. Use `TerminalError` to stop retries. |
192 | | -//! - [Serialization][crate::serde]: The SDK serializes results to send them to the Server. |
193 | | -//! - [Serving][crate::http_server]: Start an HTTP server to expose services. |
194 | | -//! |
195 | 195 | //! |
196 | 196 | //! ### Logging |
197 | 197 | //! |
@@ -421,7 +421,7 @@ pub use restate_sdk_macros::object; |
421 | 421 | /// |
422 | 422 | /// Every workflow needs a `run` handler. |
423 | 423 | /// This handler has access to the same SDK features as Service and Virtual Object handlers. |
424 | | -/// In the example above, we use [`ctx.run`][crate::context::ContextSideEffects] to log the sending of the email in Restate and avoid re-execution on replay. |
| 424 | +/// In the example above, we use [`ctx.run`][crate::context::ContextSideEffects::run] to log the sending of the email in Restate and avoid re-execution on replay. |
425 | 425 | /// |
426 | 426 | /// |
427 | 427 | /// ## Shared handlers |
|
0 commit comments