Anonymous
про этот метод
Vladislav
что конкретнее? тебе строчку кода указать что ли?
Sherzod
Код томаки открыл наверн
Vladislav
это было больше года назад
Anonymous
а
Anonymous
ну не так понял твое сообщение, ну бывает
Vladislav
я старался забыть увиденное и вот, кажется забыл, так что хочу попробовать снова
Loo
не забывай
Loo
лайфтаймы сок жизни
Safort
лайфтаймы сок жизни
Хоть в цитатник отправляй)
Alex
офигеть
Alex
TcpStream не умеет в connect с таймаутом
Loo
а ты думал у нас тут райские угодье
Loo
нет'с сэр. это не так
Alex
адище какое то
Alex
зачем так
Loo
чтобы было больно. тебе. и мне. вот у меня на найтли сегодня парсер манифестов в карго отвалился
Loo
весь день ныл
Alex
ну так найтли это типа ССЗБ
Alex
не знаю почему его так любят.
Loo
там есть remove_vector_item
Loo
я подсел на этот сахар
Loo
как гг книги на игле
Loo
если в завтрашнем апдейте не починится, будет ломка, придётся слезать с этой дряни
Мерль
Што
Sherzod
TcpStream не умеет в connect с таймаутом
В crates.io есть net2, используй её
Alex
В crates.io есть net2, используй её
я пока в ней не понял как сделать connect с таймаутом
Sherzod
Там и бэклог есть
Alex
Што
https://github.com/rust-lang/rust/issues/31724
Alex
В crates.io есть net2, используй её
не подкинешь примерчик в connect с таймаутом?
Мерль
https://github.com/rust-lang/rust/issues/31724
https://doc.rust-lang.org/std/net/struct.TcpStream.html#examples-7
Alex
https://doc.rust-lang.org/std/net/struct.TcpStream.html#examples-7
set_write_timeout происходит _после_ коннекта
Alex
до коннекта у тебя "инстанса" нету
Cuno
В crates.io есть net2, используй её
Можно юзать tokio-core + tokio-timer, как вариант.
Мерль
Охрененно
պլհկ
в си его тоже нет
Alex
в си его тоже нет
в си вообще ничего нет
Alex
там даже сеть вроде не кроссплатформенная.
պլհկ
>If the connection cannot be established immediately and O_NONBLOCK is not set for the file descriptor for the socket, connect() shall block for up to an unspecified timeout interval until the connection is established
պլհկ
не понял претензии короче
Alex
как мне реализовать конект с таймаутом?
պլհկ
юзай неблокирующие сокеты
Loo
всяк
Loo
сюда входящий
Alex
оставь надежду
я уже написал 50% простой утилиты, поздняк метаться
Loo
у меня к тебе только один вопрос
Alex
я просто боюсь если я ща loop сделаю то там будет нагрузка на проц 100% пока он не подключится
Vladislav
Alex
я не шарю
Vladislav
делай луп с таймером хотя бы
Loo
почему ты в этот прекрасный вечер не смотришь первую серию игры престолов
Alex
потому что я еще не смотрел их вообще.
Vladislav
+
Alex
Может потому что у меня сейчас включен игровой сервер к которому я пишу утилиту чтобы было удобнее им управлять?
Loo
возможно это взаимосвязано..надо поразмыслить
Alex
как мне сделать ожидание системного вызова с таймаутом?
պլհկ
никак
Alex
вооот
պլհկ
сигналами, лол
պլհկ
поток нельзя прибить
Alex
как сделать поток + таймер?
պլհկ
да
պլհկ
ну он выйдет по EINTR по идее
Cuno
syscall прерывается когда сигнал прилетает
Alex
https://github.com/rust-lang/rust/blob/master/src/libstd/net/tcp.rs#L815 Получается этот тест хрен знает сколько времени идет?
պլհկ
5737 1500309460.667898 connect(3, {sa_family=AF_INET, sin_port=htons(1), sin_addr=inet_addr("0.0.0.0")}, 16 <unfinished ...> 5737 1500309460.668024 <... connect resumed> ) = -1 ECONNREFUSED (Connection refused)
պլհկ
не оч долго
Alex
не пойму как через net2 задать blocking до connect
Alex
https://doc.rust-lang.org/net2-rs/net2/trait.TcpStreamExt.html#tymethod.connect Вот этот трейт для TcpStream которого нет до connect
Alex
нет идей?
Alex
https://github.com/rust-lang/rust/pull/43062 пиздец
Loyd
Почему пиздец?
Loyd
Ожидаемо вполне
Alex
Почему пиздец?
потому что очевидная фича
Loyd
Ну там же копировали libc