Вопросы по теме 'rust-tokio'

Самоподписанный сертификат Tokio Tls
Обновление: похоже, это больше проблема с созданием и доверием самоподписанному сертификату должным образом Я создаю сервер и клиент с помощью tokio-rs. У меня все работает, но сейчас я пытаюсь добавить в систему SSL / TLS. Я сгенерировал...
1904 просмотров
schedule 05.07.2023

Для чего используется оператор `||` при создании нового Tokio TcpServer?
Я экспериментировал с библиотеками Tokio для работы с TCP-серверами и клиентами. Сервер почти всегда устроен так: TcpServer::new(Http, addr) .serve(|| Ok(HelloWorld)); Мне интересно узнать, что делает оператор || и как он...
67 просмотров
schedule 23.10.2023

Повторное использование hyper :: client и tokio_core в Iron и Hyper
Я делаю запрос клиента внутри обработчика Iron. Как я могу повторно использовать Tokio Core и Hyper Client ? Я использую hyper 0.11.0 и tokio-core 0.1. fn get_result(req: &mut Request) -> IronResult<Response> { let mut...
413 просмотров
schedule 27.06.2022

Как я могу читать данные из TCP-соединения tokio без использования контейнера tokio_proto?
Я пытаюсь написать TCP-клиент для печати входящих сообщений. Я придумал следующий код: extern crate bytes; extern crate futures; extern crate tokio_core; extern crate tokio_io; use futures::Future; use tokio_core::net::TcpStream; use...
1895 просмотров
schedule 25.10.2022

Почему удаление этого SpawnHandle не отменяет его будущее?
Вот пример программы: extern crate futures; extern crate tokio_core; use futures::{Async, Future, Stream}; use tokio_core::reactor::Core; use tokio_core::net::TcpListener; fn main() { let mut core = Core::new().unwrap();...
499 просмотров
schedule 29.06.2023

Получение нескольких URL-адресов одновременно с Hyper
Я пытаюсь адаптировать пример гипербазового клиента для одновременного получения нескольких URL-адресов. Это код, который у меня сейчас есть: extern crate futures; extern crate hyper; extern crate tokio_core; use std::io::{self, Write}; use...
1252 просмотров
schedule 16.04.2022

Как мне запланировать повторяющееся задание в Tokio?
Я заменяю код синхронного сокета, написанный на Rust, на асинхронный эквивалент с использованием Tokio. Tokio использует фьючерсы для асинхронной активности, поэтому задачи объединяются в цепочку и помещаются в очередь на исполнителя для выполнения...
2181 просмотров
schedule 08.04.2022

Как использовать Tokio Reactor в среде # [no_std]?
Я пытаюсь реализовать фьючерсы на встроенной операционной системе Tock OS. Я пытаюсь использовать Tokio в #[no_std] среда. Мой Cargo.toml файл выглядит так: [package] name = "nrf52dk" version = "0.1.0" authors = ["Tock Project...
1177 просмотров
schedule 12.11.2022

Как я могу выполнять параллельные асинхронные HTTP-запросы GET с помощью reqwest?
Пример async полезен, но является новым для Rust и Tokio , Я изо всех сил пытаюсь понять, как выполнять N запросов одновременно, используя URL-адреса из вектора и создавая итератор HTML-ответа для каждого URL-адреса в виде строки. Как это можно...
11148 просмотров
schedule 31.12.2022

Как использовать сокет, содержащийся в типе Result, в цепочке фьючерсов?
У меня есть следующий рабочий код из документации Tokio, который я немного изменил: // Task let connection = io::read_exact(socket, buf_read) .and_then(|(socket, buf_read)| { println!("Do something with the received data...");...
113 просмотров
schedule 19.01.2023

Начать несколько потоков с Tokio
Я пытаюсь создать базовый tcp-сервер: Сервер должен иметь возможность транслировать поток сообщений всем подключенным клиентам. Сервер должен иметь возможность получать команды от всех клиентов и обрабатывать их. Вот что у меня есть в моей...
1470 просмотров
schedule 28.10.2022

Создание задач с нестатическим временем жизни с помощью tokio 0.1.x
У меня есть ядро ​​tokio, основная задача которого - запуск веб-сокета (клиента). Когда я получаю сообщения от сервера, я хочу выполнить новую задачу, которая обновит некоторые данные. Ниже приведен минимальный пример неудачи: use...
2552 просмотров
schedule 07.12.2022

Как я могу использовать оператор вопросительного знака для обработки ошибок в Tokio Futures?
У меня есть клиент, работающий с Future , который кое-что делает. Можно ли использовать impl Future<Item = (), Error = io::Error> в качестве возвращаемого типа и улучшить обработку ошибок? pub fn handle_client(client: Client) -> impl...
3647 просмотров
schedule 15.07.2022

Проблема с передачей изменяемой ссылки Arc в обработчик hyper service_fn
Я пробовал следующее Соответствующий импорт и показанный код use std::sync::{Arc, Mutex}; use std::thread; use hyper::rt::{self, Future, Stream}; use hyper::service::service_fn; use hyper::{Body, Request, Response, Server, StatusCode}; pub...
590 просмотров
schedule 21.11.2022

tokio :: run_async с tokio :: net :: UnixStream вызывает панику
tokio::run_async + futures 0.3 + tokio::net::UnixStream паника. Настраивать [package] name = "prac" version = "0.1.0" edition = "2018" [dependencies] futures-preview = {version="0.3.0-alpha.13", features=["compat", "io-compat"]} tokio =...
365 просмотров
schedule 04.04.2023

Как tokio :: net :: TcpStream реализует tokio :: prelude :: Stream?
В документах tokio.rs мы видим следующий фрагмент // split the socket stream into readable and writable parts let (reader, writer) = socket.split(); // copy bytes from the reader into the writer let amount = io::copy(reader, writer); Я...
178 просмотров
schedule 25.04.2022

Проблемы с производительностью и памятью в программе rust async
Я хотел протестировать запросы от ржавчины к конкретной службе с помощью async-клиента и создал для этого тестер async. Эта функция должна запускать указанное количество параллельных потоков (фактически, параллельных цепочек фьючерсов) в течение...
1206 просмотров
schedule 22.03.2022

Ручной опрос потоков в будущей реализации
Я сейчас перехожу на futures 0.3 и tokio 0.2, и есть один повторяющийся шаблон, который я не могу использовать повторно. Я не уверен, устарел ли этот шаблон или я что-то делаю не так с Pin . Обычно у меня есть один тип с розеткой и несколько...
1116 просмотров
schedule 24.12.2022

Почему использование клонированного гипер-клиента с Tokio Futures в блоке цикла даже после разрешения будущего?
У меня есть служба, которая обновляет данные кеша с фиксированным интервалом. Каждые N секунд он будет запускать будущее с использованием цикла ( tokio::run(future_update(http_client.clone())) ), но он не возвращается в родительскую функцию, в...
288 просмотров
schedule 01.06.2023

Есть ли способ создать генератор асинхронного потока, который дает результат многократного вызова функции?
Я хочу создать программу, которая собирает обновления погоды и представляет их в виде потока. Я хочу вызвать get_weather() в бесконечном цикле с задержкой в ​​60 секунд между завершением и началом . Упрощенная версия будет выглядеть так:...
1159 просмотров
schedule 09.03.2023