private void btnSend_Click(object sender, EventArgs e) { btnSend.Enabled = false; foreach (var el in names) { var props = Props.Create(() => new WorkerActor((int)el[0], 2000, _logger)); // el je ime actora var actor = Program.System.ActorOf(props, el); _actors.Add(el, actor); } foreach (var actor in _actors.Values) { // dovavimo listu actora koje trenutni actor mora poznavati List <IActorRef> others = _actors.Values.Where(x => x.Path != actor.Path).ToList(); // kreiramo poruku WorkerStart msg = new WorkerStart(others); // posaljimo trenutnom actoru poruku da se pokrene actor.Tell(msg); } }
private void ProcessStart(WorkerStart msg, int sleep) { _others = msg.OtherActors; _sleep = sleep; // Mijenja ponasanje actora na nacin da Become(NewBehaviour); // Pricekat cemo "sleep" prije nego posaljemo novu poruku Context.System.Scheduler.ScheduleTellOnce(TimeSpan.FromMilliseconds(sleep), Self, new Loop(), Self); }