Golodnyi
или там обычный write смогёт?
Golodnyi
щя еще раз перепроверю
Golodnyi
точно...
Vital
Подскажите, пожалуйста такую штуку смотрю первый пример из этой статьи https://rustycrate.ru/%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5/2016/09/16/futures-tutorial.html cargo install отработал cargo run ругается error[E0432]: unresolved import `tokio_tls::ClientContext` --> src/main.rs:10:5 | 10 | use tokio_tls::ClientContext; | ^^^^^^^^^^^^^^^^^^^^^^^^ no `ClientContext` in the root cargo.toml [package] name = "future_demo" version = "0.1.0" [dependencies] futures = ">=0.1.16" tokio-core = "*" tokio-tls = "*" main.rs rust extern crate futures; extern crate tokio_core; extern crate tokio_tls; use std::net::ToSocketAddrs; use futures::Future; use tokio_core::reactor::Core; use tokio_core::net::TcpStream; use tokio_tls::ClientContext; fn main() { let mut core = Core::new().unwrap(); let addr = "www.rust-lang.org:443".to_socket_addrs().unwrap().next().unwrap(); let socket = TcpStream::connect(&addr, &core.handle()); let tls_handshake = socket.and_then(|socket| { let cx = ClientContext::new().unwrap(); cx.handshake("www.rust-lang.org", socket) }); let request = tls_handshake.and_then(|socket| { tokio_core::io::write_all(socket, "\ GET / HTTP/1.0\r\n\ Host: www.rust-lang.org\r\n\ \r\n\ ".as_bytes()) }); let response = request.and_then(|(socket, _)| { tokio_core::io::read_to_end(socket, Vec::new()) }); let (_, data) = core.run(response).unwrap(); println!("{}", String::from_utf8_lossy(&data)); }
Vital
если я правильно понял, то это связано с изменениями в библиотеке есть ли аналогичная статься поновей?
Sergey
пока сидишь на 0.x будут такие траблы)
KosBeg
let mut var; let mut f: File = File::open("my_file").unwrap(); let mut my_arr: Vec<u8> = vec![]; f.read_to_end(&mut my_arr).unwrap(); while !my_arr.is_empty() { var = my_fn(&my_arr); my_arr = my_arr[var.len()..].to_vec(); // <<<=== тут адски зависает, если большой файл. } есть такой код. в месте где происходит slice вектора, когда размер файла большой(больше 10мб) ну ооочень долго всё происходит. вопрос такой: какой есть эффективный метод слайснуть большой вектор? например в сях я мог бы просто увеличить указатель на вектор на var.len(), а тут что можно придумать?) *unsafe тоже как вариант*
Vital
cargo —version —verbose cargo 1.26.0 (0e7c5a931 2018-04-06) release: 1.26.0
Vital
futures сейчас 0.2 есть ли под это похожая статься желательно на русском
Kerrigan
не используйте futures 0.2
Oleg
futures 0.2 не совместимы с tokio
Oleg
И не будут
Sergey
И не будут
как это
Kerrigan
будут, но не скоро
Kerrigan
всё еще пилится
Oleg
будут, но не скоро
Будут, но уже с 0.3
Vital
т.е. пока все юзают 0.1 а потом перейдут сразу на 0.3?
Evgεny
ну это с токио
Evgεny
с тойкио можно 0.2
Kerrigan
Vital
спасибо за ответы
Mykyta
А на чем кстати сейчас асинхронщину на расте пишут, с учетом переделок tokio?
Маjко
На токио и первых фьючах
Mykyta
Но через год всё поменяется и первые фьючи станут легаси?
պլհկ
не через год а в конце этого
պլհկ
фьючи будут в std
Kerrigan
Kerrigan
фьючи будут в std
о, вот это хорошо
Маjко
Не в std а в core вроде, и только то что нужно для работы async-await syntax
Маjко
Остальное в крейтах
Evgεny
ну вообще спорно но позволит шуму навести и вдруг интерес поднимется, чтобы не просто с крестами и го сравнивали
Evgεny
а потом введут try и пойдем писать на баше
Evgεny
грустить
Маjко
let data = receive_data(); if $? != 0 { return $? }
Evgεny
Box::new(|| { let data = receive_data(); if $? != 0 { return $? } })
Anton
Vital
а что теперь в токио вместо tokio_tls::ClientContext ?
Nikita
Box::new(|| { let data = receive_data(); if $? != 0 { return $? } })
эт что, шелл в раст добавляют?
Маjко
Что значит доллар?
errno предыдущей команды
Nikita
шта?
big
тут у нас баунти предлагают за выполнение issues https://github.com/paritytech/parity/labels/Q3-bounty
big
мб кому-то интересно будет
Alex
вот она, магия знака $
big
вот она, магия знака $
или все таки Ξ ?
Маjко
шта?
Я не проснулся еще, думал он про $? целиком спросил
big
или все таки Ξ ?
лол, а я не читал выше своего поста. Зато как в тему
Evgεny
лол только сейчас понял о чем речь
Evgεny
заебись замержили
Cat
в раст что-то новое замержили?
պլհկ
монады замержили
Loo
$ - серьёзно?
Cat
монады замержили
ну теперь заживём
Loo
я думал это шутка
պլհկ
$ это вместо старого @
պլհկ
для гц
պլհկ
монады без гц не оч
Cat
ну наконец они признали, что без гц растом пользоваться невозможно
Mykyta
что? гц в расте? гц это про гарбедж цоллецтор?
պլհկ
опциональный только
պլհկ
не хочешь можешь дальше с лайфтаймами ебаться как колхозник
Mykyta
а можно пруф?
պլհկ
бля, такого поворота я не ожидал
Evgεny
Mykyta
проще взять гошечку чем раст с гц
Evgεny
бля как схоронить этот диалог
Nikita
https://github.com/cervus-v/cervus
Nikita
A WebAssembly subsystem for Linux.
Nikita
ебаный мазафака, оно вже рядом
Anonymous
проще взять гошечку чем раст с гц
Не стоит вскрывать эту тему. Ты молодой, шутливый
Nikita
А что сейчас мешает реализовать GCObject<T>?
Nikita
срать в космосе неудобно
Mykyta
но в го монад нету же
хуяд. нахер мне париться с borrow checkerом, если все равно нужен гц?
Nikita
хуяд. нахер мне париться с borrow checkerом, если все равно нужен гц?
бороучекер он про data safety, а не про то когда за тобой убрать надо
Nikita
скорее без gc приходится с лайфтаймами сексом трахаться