Это сценарий с двумя слоями (объектами) на рисунке:
Уровень 0: сеть, Уровень 1: процессор. Процессор может отправлять события во внешний мир через сетевой объект. С другой стороны, сетевой объект перенаправляет события, полученные из внешнего мира, на объект процессора.
Это базовый поток в C / C ++, который реализовал это несколько раз:
Наряду с незарегистрированным интерфейсом, позволяющим аккуратно разбирать объекты.
Но это выглядит довольно грязно вРжавчина, из-за проверок срока службы и других причин. Например, создание замыкания, которое захватывает & mut self, невозможно. Я имею в виду некоторые способы (например, вставлять вещи в Arc<Mutex<..>>
, использовать очереди сообщений между объектами и т. Д.). Какой самый лучший / самый чистый способ сделать это в Rust?
Спасибо.