Описание тега rust-tokio
Tokio - это управляемая событиями неблокирующая платформа ввода-вывода для написания асинхронных приложений с помощью языка программирования Rust.
1
ответ
Повторение задачи Rust с помощью tokio_timer
Я создаю повторяющуюся задачу в Rust с использованием фреймворка Tokio. Следующий код основан на заполненном запросе на изменение, чтобы добавить эту функцию в ящик с таймером Tokio. При попытке компиляции я получаю сообщение об ошибке: error[E0281]…
18 фев '17 в 23:50
0
ответов
Пересылка данных в канал Tokio mpsc из потока
Я пытаюсь создать асинхронный клиент Rust, который подключается к серверу WebSocket на одном конце и ключу Bluetooth на другом конце. Между ними будет некоторая логика для фильтрации сообщений. Я использую асинхронный модуль rust-websocket для сторо…
09 авг '17 в 15:28
1
ответ
Невозможно использовать Stream::take_while на mpsc::channel: bool: Будущее не удовлетворено
Я хочу запустить цикл обработки событий в одном потоке и обрабатывать данные из сокета UDP, пока другой поток не прекратит работу. Это сложная задача для меня, поэтому я хочу начать с более простой задачи: один поток запускает цикл обработки событий…
17 янв '19 в 19:11
1
ответ
"не может рекурсивно вызывать`Core`"при попытке достичь вложенного параллелизма с помощью Tokio
Я строю сервис, который периодически делает HTTP-запрос. я использую tokio::timer::Delay в качестве периодического триггера и гипер, чтобы сделать вызов HTTP. Их совместное использование дает мне следующую ошибку: thread 'tokio-runtime-worker-1' pan…
01 июн '18 в 13:46
1
ответ
Как добиться нулевого копирования в tokio_core::io::Codec::decode(...)?
Моя цель - реализовать Codec который истощает предоставленное EasyBuf к границам сообщения и декодирует его в структуры, которые просто ссылаются на содержимое, чтобы предотвратить ненужное копирование. Заглядывая в реализацию EasyBufКажется, в наст…
10 фев '17 в 17:10
1
ответ
Запретить `chan::Receiver` блокировать пустой буфер
Я хотел бы построить канал Multi-Producer Multi-Consumer (MPMC) с различными параллельными задачами, обрабатывающими и производящими в нем данные. Некоторые из этих задач отвечают за взаимодействие с файловой системой или сетью. Два примера: PrintOu…
22 окт '17 в 07:26
2
ответа
Как изящно отключить среду выполнения Tokio в ответ на SIGTERM?
У меня есть main функция, где я создаю среду исполнения Tokio и запускаю на ней два фьючерса. use tokio; fn main() { let mut runtime = tokio::runtime::Runtime::new().unwrap(); runtime.spawn(MyMegaFutureNumberOne {}); runtime.spawn(MyMegaFutureNumber…
24 ноя '18 в 13:43
1
ответ
Значение сообщения запроса должно быть допустимым для статического времени жизни
Я хочу реализовать функцию блокировки, которая отправляет запрос POST с телом JSON и возвращает объект JSON ответа: extern crate tokio_core; extern crate rustc_serialize; extern crate hyper; extern crate futures; use std::str; use rustc_serialize::j…
27 окт '17 в 08:44
1
ответ
Признак, связанный с `futures:: Future<Item = Arc <T>, Error = Box<Error + Send >>: Send` не выполнен
У меня есть следующий (упрощенный) фрагмент кода, и я пытаюсь запустить будущее на CpuPool: use futures::{self, Future, IntoFuture}; use std::error; use futures_cpupool::CpuPool; pub struct Store<T: 'static + Send + Sync> { inner: Arc<Store…
07 ноя '17 в 15:05
1
ответ
Эхо-сервер TCP никогда не отвечает, даже если я отправляю новую строку
Я пытаюсь следовать руководству по клиенту Tokio, чтобы написать клиент, который обращается к эхо-серверу, который отправляет ответ с новой строкой в конце. Вот что у меня есть: extern crate futures; extern crate tokio_core; extern crate tokio_io;…
20 дек '17 в 00:08
1
ответ
Нерестовые задания с нестатическим временем жизни в Токио
У меня есть ядро Tokio, основной задачей которого является запуск веб-сокета (клиента). Когда я получаю некоторые сообщения от сервера, я хочу выполнить новую задачу, которая обновит некоторые данные. Ниже приведен минимальный ошибочный пример: us…
20 дек '18 в 17:22
1
ответ
Соответствие будущим типам
Я пытаюсь работать с фьючерсами, чтобы искать асинхронно искать значение. Если это значение существует, я хочу его вернуть, а если его нет, я хочу его создать. // A network will be created unless one already exists with this name pub fn build_networ…
08 янв '19 в 04:56
0
ответов
"внешнее местоположение для cfg_if не существует" при добавлении ящика Tokio
Я хочу создать доказательство концепции, используя ящик Tokio, поэтому я создал новый проект и добавил tokio = "0.1.0" в файл Cargo.toml, но я получаю следующую ошибку при компиляции проекта: Compiling nodrop v0.1.12 Compiling crossbeam-utils v0.2.2…
21 мар '18 в 08:01
1
ответ
Пример из раздела "Цепные вычисления" документации Tokio не компилируется: "ожидаемая структура`std::io::Error`, found ()"
Я учу Токио. Я прочитал Получение асинхронного из официальных документов, но исходный код из раздела вычислений Chaining не может быть скомпилирован в последней версии Rust (Rust 2018, v1.31): extern crate tokio; extern crate bytes; #[macro_use] ext…
17 дек '18 в 15:40
2
ответа
Как закрыть измененный и исполняющий поток `futures::sync::mpsc::Receiver`?
Я хотел бы иметь возможность сделать что-то в этом направлении, чтобы закрыть Receiver Поток асинхронно: extern crate futures; extern crate tokio; use futures::future::lazy; use futures::stream::AndThen; use futures::sync::mpsc::Receiver; use future…
23 дек '18 в 16:42
1
ответ
Не удается импортировать модуль канала из Tokio Core
Внутри lib.rs у меня есть это: extern crate tokio_core; use tokio_core::channel::{channel, Sender, Receiver}; Который заканчивается этой ошибкой: error[E0432]: unresolved import `tokio_core::channel` --> src/main.rs:2:17 | 2 | use tokio_core::cha…
16 ноя '18 в 18:17
2
ответа
Как я могу проверить будущее, которое связано с Токио TcpStream?
У меня есть будущее, которое оборачивает поток TCP в Framed с использованием LinesCodec, Когда я пытаюсь обернуть это в тесте, будущее блокируется примерно в 20% случаев, но из-за того, что я ничего не слушаю в сокете, к которому пытаюсь подключитьс…
19 сен '18 в 09:03
1
ответ
Повторное использование hyper::client и tokio_core в Iron и Hyper
Я делаю запрос клиента внутри обработчика Iron. Как я могу использовать Токио Core и Hyper's Client? Я использую гипер 0.11.0 и Tokio-Core 0.1. fn get_result(req: &mut Request) -> IronResult<Response> { let mut payload = String::new(); …
14 июл '17 в 21:21
1
ответ
Tokio Tls Самоподписанный сертификат
Обновление: кажется, это больше проблема с созданием и доверием самоподписанного сертификата должным образом Я строю сервер и клиент, используя tokio-rs. У меня все работает, но сейчас я пытаюсь добавить SSL/TLS в систему. Я создал самозаверяющий се…
25 мар '17 в 13:04
1
ответ
Обернуть перечисление вариантов в IntoFuture?
Я пытаюсь скомпилировать что-то вроде следующего кода. Кажется, мне нужно помочь ему понять, что я хочу, чтобы все спичечное оружие было взято как futures::future::IntoFuture, так как это то, что внешний and_then ожидает от обратного вызова / закрыт…
13 ноя '17 в 18:31