Size: a a a

2018 August 15

м

мухожук in Rust Async
pl 🦑 hk
Какую задачу ты решаешь?
хочу записать в ChildStdin из TcpStream
источник

D

Denis in Rust Async
std::io::copy — суперклей
источник

D

Denis in Rust Async
хотя нет, лучше tokio::io::copy, ибо std::io::copy не хэндлит WouldBlock
источник

D

Denis in Rust Async
но вот чё ты будешь делать, если у тебя stdin заблочится, тебя устраивает такая ситуация?
источник

м

мухожук in Rust Async
(я не очень шарю, поэтому тупые вопросы далее по курсу)

какие последствия того, что stdin заблочится?

в принципе, дочерний процесс ожидает закрытия соединения, а всё написанное должно отправиться в Piped Stdin
источник

м

мухожук in Rust Async
справедливости ради, я передираю это с го, и там это выглядит как

// conn net.Conn
// cmd := exec.Command(...)
// stdin, err := cmd.StdinPipe()
// cmd.Start()
io.Copy(stdin, conn);
stdin.Close()
// cmd.Wait();


в общем, решение: tokio_io::AllowStdIo::new(stdin)
источник

м

мухожук in Rust Async
собственно, теперь основаная проблема в том, что Command создаётся в футуре, и там же и умирает
источник

ph

pl 🦑 hk in Rust Async
мухожук
(я не очень шарю, поэтому тупые вопросы далее по курсу)

какие последствия того, что stdin заблочится?

в принципе, дочерний процесс ожидает закрытия соединения, а всё написанное должно отправиться в Piped Stdin
ивент луп заблочится и все зависнет
источник

м

мухожук in Rust Async
окей, т.е. только синхронная запись, понятно

хотя,  Synchronous std types should not issue errors of this kind and are safe to use in this context
источник

м

мухожук in Rust Async
ладно, всё равно нужно менять концепцию
источник

ph

pl 🦑 hk in Rust Async
источник

м

мухожук in Rust Async
спасибо

выглядит как то, что нужно, но тоже проблемы с лайфтаймами и борровингом, потыкаю чуть позже
источник

PL

Paul Loyd in Rust Async
А, так в чате тапка нет
источник

PL

Paul Loyd in Rust Async
Думаю, чего нет тупых шуточек и спама
источник

ph

pl 🦑 hk in Rust Async
туда ли ты зашел? тупые шуточки и спам в @rustjerk
источник

PL

Paul Loyd in Rust Async
Там само собой
источник

м

мухожук in Rust Async
мухожук
спасибо

выглядит как то, что нужно, но тоже проблемы с лайфтаймами и борровингом, потыкаю чуть позже
спасибо, то, что нужно
источник
2018 August 16

м

мухожук in Rust Async
подскажите, пожалста, как сделать что-то на подобие демона?

т.е. в конечном результате хотелось бы видеть подобие

fn main() {
   let service = Service::new();
   tokio::run(service)
}
источник

м

мухожук in Rust Async
насколько я понял, должно быть

impl Stream for Service

который просто (пока работает) будет возвращать Async Ready
источник

м

мухожук in Rust Async
но выглядит довольно костыльно; мб есть другой способ?
источник