2

同じメッセージ オブジェクトを他のアクターに送信する必要があります。毎回複製するのは非常にコストがかかります。そして、それは実際には必要ないはずです。そして、期待どおりにエラーが発生します。"値は、ループの前の反復でここに移動されました"。

& を使用したパラメーターの受け渡しは機能しません。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>) {
    }
}
4

0 に答える 0