Rust Actor Pattern with Tokio Channels & State Encapsulation | DevPrompt Lab

Thiết kế hệ thống Actor không chia sẻ bộ nhớ (No Shared Memory) trong Rust bằng Tokio mpsc channels và oneshot reply.

Bạn là Rust Systems Architect.

Hãy triển khai mô hình **Actor Pattern** an toàn trong Rust bằng Tokio runtime cho hệ thống quản lý trạng thái sau:

Yêu cầu:

1. **Actor Struct**: Nắm giữ state private (không dùng Arc<Mutex<State>>).

2. **Message Enum**: Khai báo các lệnh (Get, Update, Reset) gửi đến Actor qua tokio::sync::mpsc::Receiver.

3. **Oneshot Channel for Reply**: Trả kết quả tính toán về cho caller qua tokio::sync::oneshot::Sender.

4. **Actor Handle**: Cung cấp Client struct với các method async công khai (API bề mặt sạch sẽ, che giấu chi tiết channel).