同じメッセージ オブジェクトを他のアクターに送信する必要があります。毎回複製するのは非常にコストがかかります。そして、それは実際には必要ないはずです。そして、期待どおりにエラーが発生します。"値は、ループの前の反復でここに移動されました"。
& を使用したパラメーターの受け渡しは機能しません。Weak
/Arc
参照ではできませんでした。Actix はそれをサポートしていないようです (Weak/Arc メッセージ)。
この場合、どのように最善の解決策になるでしょうか?
let myMessageObject: MyMessageType = MyMessageType {};
for user in self.users.iter() {
user.Addr.do_send(myMessageObject);
}
impl Handler<MyMessageType> for User {
type Result = ();
fn handle(&mut self, setStartMessage: MyMessageType, ctx: &mut ws::WebsocketContext<Self>) {
}
}