private void BecomeWaitingForTracker(RequestDownloadTrackerFor request) { Become(WaitingForTracker); OutstandingAcknowledgments = MasterBroadcast.Ask <Routees>(new GetRoutees()).Result.Members.Count(); MasterBroadcast.Tell(new GetDownloadTracker(request.Key)); Context.SetReceiveTimeout(TimeSpan.FromSeconds(1.5)); }
private void Ready() { Receive <RequestDownloadTrackerFor>(request => { RequestedTracker = request; BecomeWaitingForTracker(request); }); Receive <GetDownloadTracker>(get => { HandleGetDownloadTracker(get); }); Receive <TrackerFound>(found => { Trackers[found.Key] = found.Tracker; }); Receive <CreatedTracker>(tracker => { Trackers[tracker.Key] = tracker.Tracker; }); Receive <TrackerDead>(dead => { if (Trackers.ContainsKey(dead.Key)) { Trackers.Remove(dead.Key); } }); }
private void BecomeWaitingForTracker(RequestDownloadTrackerFor request) { Become(WaitingForTracker); OutstandingAcknowledgments = MasterBroadcast.Ask<Routees>(new GetRoutees()).Result.Members.Count(); MasterBroadcast.Tell(new GetDownloadTracker(request.Key)); Context.SetReceiveTimeout(TimeSpan.FromSeconds(1.5)); }
private void Ready() { Receive<RequestDownloadTrackerFor>(request => { RequestedTracker = request; BecomeWaitingForTracker(request); }); Receive<GetDownloadTracker>(get => { HandleGetDownloadTracker(get); }); Receive<TrackerFound>(found => { Trackers[found.Key] = found.Tracker; }); Receive<CreatedTracker>(tracker => { Trackers[tracker.Key] = tracker.Tracker; }); Receive<TrackerDead>(dead => { if (Trackers.ContainsKey(dead.Key)) { Trackers.Remove(dead.Key); } }); }