Size: a a a

Rust — русскоговорящее сообществo

2020 September 17

c⁣

createStore<🦉>... in Rust — русскоговорящее сообществo
источник

c⁣

createStore<🦉>... in Rust — русскоговорящее сообществo
ответ 40X ошибки, превращается в ClientResponse
тут всё логично
источник

Э

Эрик in Rust — русскоговорящее сообществo
А, ну ладно тогда.
источник

P

Penter in Rust — русскоговорящее сообществo
Ребят, а не расскажите, что тут происходит?
https://github.com/paritytech/parity-bitcoin/blob/495f62021c2c459a92e4716a62639ba360e5466b/p2p/src/io/deadline.rs

Интересуют строчки 10-11, какая-то хитрость с .map(), не пойму, как оно.
источник

c⁣

createStore<🦉>... in Rust — русскоговорящее сообществo
Penter
Ребят, а не расскажите, что тут происходит?
https://github.com/paritytech/parity-bitcoin/blob/495f62021c2c459a92e4716a62639ba360e5466b/p2p/src/io/deadline.rs

Интересуют строчки 10-11, какая-то хитрость с .map(), не пойму, как оно.
.map(|_| DeadlineStatus::Timeout)
это?
источник

c⁣

createStore<🦉>... in Rust — русскоговорящее сообществo
|_| игнорирует первый и единственный аргумент
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Penter
Ребят, а не расскажите, что тут происходит?
https://github.com/paritytech/parity-bitcoin/blob/495f62021c2c459a92e4716a62639ba360e5466b/p2p/src/io/deadline.rs

Интересуют строчки 10-11, какая-то хитрость с .map(), не пойму, как оно.
На 10 строчке мап вызывается с замыканием, которое игнорирует свой единственный аргумент и возвращает DeadlineStatus::Timeout.

В 11 мап вызывается в функцией DeadlineStatus::Meet (подозреваю что это енам)
источник

P

Penter in Rust — русскоговорящее сообществo
вафель 🧇
На 10 строчке мап вызывается с замыканием, которое игнорирует свой единственный аргумент и возвращает DeadlineStatus::Timeout.

В 11 мап вызывается в функцией DeadlineStatus::Meet (подозреваю что это енам)
Ну а он что, получается, теряет объект Timeout? Который из токиё.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Там эта штука просто ради возможной ошибки берётся, вроде бы.
источник

P

Penter in Rust — русскоговорящее сообществo
Эрик
Там эта штука просто ради возможной ошибки берётся, вроде бы.
Ну там вон объект создаётся, туда хэндл суют, дюрейшн.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Ну бывает.
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Penter
Ну а он что, получается, теряет объект Timeout? Который из токиё.
Почему теряется? Timeout имплементирует Future<Output = ...>, мап превращает выражение в Future<Output = DeadlineStatus>
источник

V

Vladimir in Rust — русскоговорящее сообществo
Penter
Ну а он что, получается, теряет объект Timeout? Который из токиё.
Просто по результату фьючи будет не "какой-то не понятный тип" из Timeout, а конкретный вариант энама из DeadlineStatus. Позже, скорее всего, этот тайм-аут кладется куда-то и обрабатывается с другими источниками таких же  событий (deadlinestatus). Короче это чисто замена одного результата фьючи на другой
источник

P

Penter in Rust — русскоговорящее сообществo
вафель 🧇
Почему теряется? Timeout имплементирует Future<Output = ...>, мап превращает выражение в Future<Output = DeadlineStatus>
Ничего не понял. Вот Timeout::new возвращает Result(Timeout), на который потом делают .map(|_| DeadlineStatus::Timeout) я так понимаю, что если аргумент просто пропускается, то он вместо объекта Timeout возвращает часть енама.
источник

P

Penter in Rust — русскоговорящее сообществo
Или DeadlineStatus::Timeout это и есть объект таймаут? А как он тогда инициализируется из того, который вернулся, ведь в мапе пропущен аргумент, тип.
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Penter
Ничего не понял. Вот Timeout::new возвращает Result(Timeout), на который потом делают .map(|_| DeadlineStatus::Timeout) я так понимаю, что если аргумент просто пропускается, то он вместо объекта Timeout возвращает часть енама.
Там вопрос (?), map делается на Timeout, а не Result
источник

P

Penter in Rust — русскоговорящее сообществo
вафель 🧇
Там вопрос (?), map делается на Timeout, а не Result
Аа, ну да. И всё же, что делает map к Timeout?
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Penter
Аа, ну да. И всё же, что делает map к Timeout?
Как и на всех фьючах — вызывает функцию, когда фьюча отрезолвится
источник

P

Penter in Rust — русскоговорящее сообществo
вафель 🧇
Как и на всех фьючах — вызывает функцию, когда фьюча отрезолвится
Т.е. когда пройдёт данный промежуток времени, он выплюнет DeadlineStatus::Timeout?
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Точнее возвращает Map<Fut, F>, poll которой вернёт Ready(f(x)), если Fut::poll вернёт Ready(x)
источник