и в другом потоке положить в него результат. Все асинхронно на Токио. В какую сторону посмотреть? Перформанс критичен.
tokio::sync::oneshot?
Не хотелось бы на каждый запрос плодить очередь. Может что-то другое есть?
Расскажи конкретную проблему тогда, мы не угадаем требования :)
Ну там не прям очередь, вроде
Есть запрос его нужно записать в сокет и ответ считать из сокета. У запроса ответа есть ид. Запросы могут идти параллельно
Опять же. Критичный перформанс и сокет, многопоточность. Асинхронность и уж тем более async. Одно не совместимо с другим. Выбирай что-то одно. В какую сторону смотреть - никуда никакой результат не ложить. Он уже лежит в память. Всё что тебе нужно сделать - это сообщить другому потоку, что данные есть и записаны. И забыть про их модификацию из первого. А уж если только прочитать - тебе хватит одного атомика с куском памяти.
Вы не видите всей задачи. Если все сводить к куску памяти то да вы правы.
Я об этом написал. Это и есть кусок памяти. То, что язык, подход не позволяет свести задачу к нормальным средствам - это ваша проблема. Это не свойство задачи. Это свойство ограничений навязанных тебе/тобою. В программе есть только данные, в случае со статическими языками. Эти данные - это память. Передача любых данных - это передача памяти. Всегда. Ваши же ограничения, повторюсь, вызваны плохими, дырявыми абстракциями. И как следствие из всего этого - с такими абстракциями у вас нет и не будет какого-то летенси. И нет смысла об этом рассуждать. На подобном уровне уже мало влияют всякие микро-эффекты. О чём я так же сообщил
Хм. Можете конструктивно объяснить почему я не могу добиться ультра низких задержек?
Потому что раст вместо ассемблера.
Это круто конечно но я не могу писать на асме
Я уже отвечал выше. Ты сам столкнулся с проблемой, почему не можешь. У тебя взяли откуда-то потоки, ты не можешь передавать данные через память. async/await/ассинхронность не совместима с лоулетенси, а уж про трупут и говорить не приходится
В чем проблема передавать то в итоге:/
Почитай, пж, то, что пишет человек выше. Он сам говорит о том, что он не может "через память". Угадай, почему? Он ссылается на задачу, но в задаче такого ограничения нет. Это именно что ограничение его абстракций.
Да у меня вопрос собственно был про дизайн. Что взять фючи или канали. Я надеялся что есть что-то ещё. Но вроде нет. А вы тут без аргументов эмоциональный фон поднимаете. Это странно.
Обсуждают сегодня